【发布时间】:2016-05-11 14:19:59
【问题描述】:
我正在尝试将 xerces 链接为静态库,但我遇到了一些问题...
Undefined symbols for architecture x86_64:
"_CFRelease", referenced from:
xercesc_3_1::MacOSUnicodeConverter::upperCase(unsigned short*) in libxerces-c.a(MacOSUnicodeConverter.o)
xercesc_3_1::MacOSUnicodeConverter::lowerCase(unsigned short*) in libxerces-c.a(MacOSUnicodeConverter.o)
"_CFStringCreateMutableWithExternalCharactersNoCopy", referenced from:
xercesc_3_1::MacOSUnicodeConverter::upperCase(unsigned short*) in libxerces-c.a(MacOSUnicodeConverter.o)
xercesc_3_1::MacOSUnicodeConverter::lowerCase(unsigned short*) in libxerces-c.a(MacOSUnicodeConverter.o)
"_CFStringLowercase", referenced from:
xercesc_3_1::MacOSUnicodeConverter::lowerCase(unsigned short*) in libxerces-c.a(MacOSUnicodeConverter.o)
"_CFStringUppercase", referenced from:
xercesc_3_1::MacOSUnicodeConverter::upperCase(unsigned short*) in libxerces-c.a(MacOSUnicodeConverter.o)
"_CreateTextEncoding", referenced from:
xercesc_3_1::MacOSUnicodeConverter::discoverLCPEncoding() in libxerces-c.a(MacOSUnicodeConverter.o)
xercesc_3_1::MacOSUnicodeConverter::makeNewXMLTranscoder(unsigned short const*, xercesc_3_1::XMLTransService::Codes&, unsigned long, unsigned int, xercesc_3_1::MemoryManager*) in libxerces-c.a(MacOSUnicodeConverter.o)
...
我尝试使用不同的选项运行 configure,但所有尝试都无济于事。
有人遇到过同样的问题吗?
【问题讨论】:
-
可能是由这个引起的:xerces.apache.org/xerces-c/build-3.html 如果您将应用程序链接到静态 Xerces-C++ 库,那么您将需要使用按顺序定义的 XERCES_STATIC_LIBRARY 预处理器宏编译您的应用程序关闭 DLL 导入/导出机制。
标签: macos static-libraries osx-elcapitan xerces-c