osx


OSX中使用ld -static链接时提示找不到-lcrt0.o

这两天在学习链接的相关知识,刚好看到静态链接,于是照着书中示例写了个程序,满心欢喜等着运行结果时,却在编译链接阶段没通过!终端上最后的输出为: “/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld” -static -arch i386 -macosx_version_min 10.9.0 -o p2 -lcrt0.o main2.o libvector.a ld: library not found for -lcrt0.o clang: error: linker command failed with exit code 1 (use -v to see invocation) 刚开始以为是因为在64位系统上编译32位程序(gcc -m32)导致了,于是去掉了这个参数,重新编译链接,还是不行! 没办法了,只能google,找了一番,发现还是有些人遇到类似的情况的,尝试了安装Xcode的命令行工具(Command Line Tools for Xcode),发现还是不行,进一步查找,找到了Apple的这个QA页面:https://developer.apple.com/library/mac/qa/qa1118/_index.html 。。。好吧,要么跟着自己做,要么放弃。。。我不玩了,直接把-static参数去掉,编译通过,完事! Author: Rex Shen Created: 2014-07-17 Thu 14:49 Emacs 24.3.1 (Org […]