07-12-2017 01:32 PM
I'm trying to use a Xcode framework in labview using the call library block. In the configuration panel I put in the file path, but it doesn't give me a drop down of all the functions I can call. When I just type the name of the function I want and close the window, it starts searching for the framework and, when I manually put in the file path again, it gives me a File Not Found error and says it can not be loaded. I am using Xcode 8 and Labview 2016 (64)
Does anyone have an idea of what my problem could be?
07-12-2017 08:14 PM
Did you set the project to create the 64 bit library? If you have only the 32 bit code created, LabVIEW 64 bit will not be able to load that shared library. Also have you tested with a small C program that you can call functions from that shared library?
07-13-2017 08:46 AM
I am indeed using the 64 bit architecture, but I have not tested it with a C program so I'll try that next. I've also used the LabVIEW example with using Xcode libraries and that imports correctly so I've made all of the settings the same on my library and it still doesn't work.
07-13-2017 08:51 AM
XCode compile and linker settings is an incredibly complicated thing to get right. They made a complete configuration frontend around the compiler options for the gcc/llvm toolchain and managed to make the already hard to understand option jungle of GCC several magnitudes more complicated.
07-13-2017 09:08 AM
I'm beginning to see that. I see that the Labview examples were made using Xcode 4.2 and I'm using Xcode 8. Would switching back to an earlier version possibly work?
07-13-2017 10:08 AM - edited 07-13-2017 10:09 AM
That's usually not a good option. Getting older versions (especially so much older versions) installed successfully on more recent OS X versions is a challenge at best and sometimes near impossible.
It's not that newer versions can't do what you try to do. It's just figuring out which of the many options needs to be changed. And figuring out on which level (project, target, build and so on) level that option needs to be changed. I have found it a frustrating experience most of the time but almost managed to get it working in the end although I have to admit that I more than once ended up suddenly with a working configuration without knowing why it worked now.
And even if you know what you need to change it's always a challenge to find the right location and option again when you get to the same problem for a new project.