我正在将一个应用程序移植到OS X Darwin,但出现了链接错误,提示缺少类似以下的符号:
但是这并没有起作用,我没有找到任何正确链接的示例。
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::find_last_of(char const*,
unsigned long,
unsigned long) const
operator delete[](void*)
typeinfo for std::runtime_error
std::set_unexpected(void (*)())
std::exception::~exception()
[...]
我希望这些应该来自libstdc++,但我不知道如何使用clang链接它。
这是我尝试的链接行和结果失败的原因:
clang -std=c++11 -stdlib=libc++ -m64 -o ARCH.darwin_1310_i86/release/myExec ARCH.darwin_1310_i86/release/myExec.o ../../src/netcomm/ARCH.darwin_1310_i86/release/libmyExec.a ../../src/common/ARCH.darwin_1310_i86/release/libcommon.a -L../zlib -lz -L../Botan -lbotan-1.10 -lboost_thread-mt
Undefined symbols for architecture x86_64:
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::find_last_of(char const*, unsigned long, unsigned long) const", referenced from:
[...]
但是这并没有起作用,我没有找到任何正确链接的示例。
clang++
命令来调用C++编译器和链接器。clang
可执行文件是C编译器。 - CPlusPlus OOA and D