I have problem with a C++ file finding a symbol in a dynamic library.
==============================
// library header file
#ifdef __clpusplus
extern "C" {
#endif
extern SOArrayRef SOGetAllSpells();
#ifdef __clpusplus
}
#endif
===============================
// Test.m file
void Test1() {
SOArrayRef ary=SOGetAllSpells();
}
================================
// TestFile.cpp file
void SATest() {
SOArrayRef ary=SOGetAllSpells();
}
===============================
When I attempt to compile, the compiler spews out
Undefined symbols for architecture x86_64:
"SOGetAllSpells()", referenced from:
_SATest in TestFile.o
ld: symbol(s) not found for architecture x86_64
The error only occurs in the C++ file, not the .m (or C) file.
The symbol exists otherwise it would complain ‘_Test1 in Test.o' also.
If I remove the symbol reference from the C++ file, it compiles without any
issue.
The library symbol exists, nm verified it for me.
OS 10.10.1, XCode 5.1.1 & 6.1
Any idea why this is happening?
TIA Mark _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com
This email sent to [email protected]