我不希望gcc链接器将未定义的符号显示为链接错误.我在MAC OSX 10.6上使用gcc 4.2
当然我在线寻找解决方案,但所有的尝试都失败了!
如何修改此命令以摆脱未定义的符号错误?
gcc -o Proj $(wildcard *.o);
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:我正在研究一个研究项目,我需要代码可链接,我不在乎它是否会有运行时异常
咦?这是没有意义的.这是一个错误,不容忽视.当链接器无法完成其工作时,您无法构建可执行文件.您是否希望它只是发明一个实现并希望它能够解决?
相反,您需要了解如何正确配置要构建的项目.如果依赖外部库,则需要在链接器搜索路径中添加路径.
编辑:根据你的评论......
有一些选项可以抑制链接错误,比如在这里源码Sourceware.org/binutils/docs/ld/Options.html我正在研究一个研究项目,我需要代码可链接而且我不在乎它是否会有运行时异常
嗯,你仍然不能,它仍然没有意义.请仔细阅读该部分:
在链接时指定的共享库中允许未定义的符号引用的原因是:
链接时指定的共享库可能与加载时可用的共享库不同,因此该符号实际上可以在加载时解析.有一些操作系统,例如BeOS和HPPA,共享库中的未定义符号是正常的.
因此,在某些情况下,允许共享库中的未定义符号是合理的,因为您可能无法链接到实际将链接到的动态库的相同版本.
但是,您希望构建可执行文件,而不是共享库,因此执行您要求的操作毫无意义.你只需要一个可执行的东西,它将无法使用.为什么任何理智的编译器都允许这样的条件?