LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

call library - Mac OS X System Frameworks - LV 8.5

Hopefully there is someone familiar with how LV calls into Frameworks from the call Library node.

(Note for those who are cross platform challenged, use "shared library" or .so file for linux, and "dll" for windows in place of "Framework" under Mac OS X)

With LV 8.5 there is a nice "Import Framework" into a project. This has a nice wizard interface. If I import a System Framework and find all the header files that are needed, I still get a bunch of "undefined variables". Here is a list below:

KERNEL;_ANSI_SOURCE;_APPLE_C_SOURCE;_NONSTD_SOURCE;_POSIX_C_SOURCE;_POSIX_SOURCE;_XOPEN_SOURCE;__APPLE_CC__;__DARWIN_UNIX03;__DBL_MANT_DIG__;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;__GNUC_MINOR__;__GNUC__;__INTMAX_TYPE__;__LDBL_MANT_DIG__;__LONG_DOUBLE_128__;__LP64__;__MWERKS__;__SSE2__;__SSE__;__STDC_CONSTANT_MACROS;__STDC_LIMIT_MACROS;__STDC__;__STDDEF_H__;__STRICT_ANSI__;__UINTMAX_TYPE__;__VEC__;__WANT_LONG_DOUBLE_FORMAT__;__WCHAR_MAX__;__cplusplus;__i386__;__need_NULL;__need_ptrdiff_t;__need_size_t;__need_wchar_t;__need_wint_t;__ppc64__;__ppc__;__x86_64__;

These are all defined by the gcc compiler and so work just fine when I use these headers with gcc. But of course are not defined for LabVIEW. Is there a magic header file somewhere that contains all these definitions for my particular environment?

The particular problem I have is trying to call into the vector FFT accelerate library for performance gains.

LabVIEW ChampionLabVIEW Channel Wires

Message 1 of 4
(2,647 Views)
The best way currently is creating a header file which contains all the definitions needed then including it in your input header file.

Message Edited by superjing on 09-13-2007 09:49 AM

0 Kudos
Message 2 of 4
(2,642 Views)
It may be the best way, but is not actually a good way. Since these variables are already defined for the hardware I have, I want the system to use the current values defined in the system rather than a static file. I understand that it is easier from the NI point of view to say it is all the users responsibility. But actually functionality like this is what should be built in to make it easier for the user.

-Scott

LabVIEW ChampionLabVIEW Channel Wires

Message 3 of 4
(2,630 Views)
These "undefined variables" can be devided into two parts: one is compiler settings and the other is missing definition(They are defined somewhere but the tool cannot find. E.g. some default system header files). For the first case, LabVIEW cannot shared these information with Xcode/gcc/VC, so users can input them in the tool. For the second, we have already added some default searching path for Windows/Linux/Mac. It means that /usr/include and /usr/include/sys are now supported in LV 8.5.
0 Kudos
Message 4 of 4
(2,620 Views)