mac os 编译 c++ 的时候 clang: error: linker command failed with exit code 1

2015-05-09 16:06:02 +08:00
 ivanchou
老师给的 makefile 在 ubuntu 下正常,命令是:
g++ -std=c++0x -g -O2 -Idir FileName.cc -fPIC -shared -o FileName.so

但在 mac os 下编译出错(10.10.3)
错误信息:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

有说是 command line tool 的问题,我修改为:
clang++ -stdlib=libstdc++ -g -O2 -Idir FileName.cc -fPIC -shared -o FileName.so
同样的错误

有遇到过的吗?
5413 次点击
所在节点    问与答
21 条回复
qinng
2016-07-03 22:58:26 +08:00
试下在编译选项添加-lstdc++,使用标准 c++库可以解决。我也刚碰到这个问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/189745

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX