如何在Mac OS X Mavericks上的std C ++库中链接?

威廉·KF

我正在将应用程序移植到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:
[...]

但这是行不通的,我没有找到任何有关如何正确链接的示例。

威廉·KF

您需要-lc++像这样添加到链接行:

铛-std = c ++ 11 -stdlib = libc ++ -lc ++ -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

添加后,缺少的符号消失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Mac OS X Mavericks上安装Unicorn

如何在Mac OS X Mavericks上降级Perl

如何在Mac OS X Mavericks上安装OpenERP?

在Mac OS X Mavericks上的Eclipse

如何在Mac OS X 10.9 Mavericks上的Finder上显示/隐藏隐藏文件?

gcc默认在Mac OS X上的C语言中链接数学库吗?

如何在OS X Mavericks上使用Clang设置自定义C入口点?

如何在Mac OS上的C ++中连接到MySQL?

如何在Mac OS上的C ++中模拟打字/按键?

R:如何在Mac OS X Mavericks上安装软件包tiff?

无法在 Mac OS X 上链接静态库

如何在Mac OS X 10.9上安装ZeroMQ以在C / C ++程序中使用

Mac OS X 10.9.5上的HealPix C ++链接错误

如何在OS X Mavericks上安装ant?

如何在OS X Mavericks上还原.bash_profile?

使用Qt在OS X / Mac上构建C ++库

如何在Windows和CMake上使用Visual Studio编译Mac OS X的C ++

如何在Mac OS X Terminal上使用make编译C程序

如何在Mac OS X Lion上安装Python库'gevent'

如何在Mac OS X下的C中设置文件的创建日期?

在Mac OS X Mavericks上,“ sed”和“ awk”中捕获的文本的意外插入行为

OS X Mavericks上gtest的链接器错误

如何在Java中的Mac OS X上的Microsoft Word中打开文件?

如何在Mac OS X上的bash脚本中获取默认浏览器名称

如何在conda环境中的Mac OS X上运行runsnakerun?

Python-如何在Mac OS X上的GUI应用程序中创建守护程序?

如何在Mac OS X Catalina中的PHP上加载memcached?

无法在Mac OS X Mavericks上安装Fay

在Mac OS X Mavericks上安装Gstreamer-1.0