2013-03-20 45 views
1

g++ -Wl,-rpath,/usr/local/lib -o /path-to/executable {list of .o files} -L/usr/X11R6/lib -L/usr/local/lib -lQtGui -L/usr/local/lib -L/usr/openwin/lib -lSM -lICE -lXext -lX11 -lresolv -lsocket -lnsl -lQtCore -lm -lrt -ldl -lpthread链接选项不兼容 - 看不出在命令

我使用上面的命令来编译可执行文件的任何地方选项。实际上一个makefile是为我做的..但不管。

我得到一个错误使用上述命令:

ld: fatal: option -dn and -P are incompatible 
ld: fatal: Flags processing errors 

我看不出-dn或-P正在在命令或生成文件提供给连接的任何地方。链接器获取此信息的位置在哪里?

回答

0

通过试图暂时删除链接命令的每个部分,我发现删除“,rpath,/usr/local/lib”使事情工作。这让我想到我在linux世界的其他地方设置链接器选项。

进一步的调查证明我正在设置LD_LIBRARY_PATH,其中包含一些导致冲突的链接器选项。在更改该LD_LIBRARY_PATH后,事情就像他们应该有的那样工作。