如何删除 qmake 自动添加到链接器选项的库路径
想尝试使用 qt 创建者(来自 eclipse cdt)并且我正在尝试构建我的项目。不幸的是,qmake 本身将 -L/usr/lib 添加到链接器选项中,使其链接到错误版本的库,并且我不知道如何删除它。
我尝试在项目文件中执行“LIBS =”,以及“LIBS -= -L/usr/lib”,但它似乎是在从项目文件读取设置后添加该选项。有人知道某个地方是否有一个conf文件(例如mkspecs目录),我可以在其中注释掉它?谢谢。
Wanted to try using qt creator (coming from eclipse cdt) and I'm trying to get my project to build. Unfortunately, qmake is adding -L/usr/lib to the linker options by itself, making it link to the wrong version of a library, and I can't figure out how to remove it.
I've tried doing "LIBS = " in the project file, as well as "LIBS -= -L/usr/lib", but it seems to be adding the option after it reads the settings from the project file. Anyone know if there's a conf file somewhere (e.g. mkspecs directory) where I can comment this out? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它来自 qmake 本身。它将 qt_libspath 放入链接标志中。可以通过使用不同的目录前缀配置和编译 Qt,或者修改 qmake 二进制文件本身来更改它。
对您来说,一个简单的解决方案可能是使用不同的名称创建指向正确库版本的文件系统级链接。也就是说,如果您有
/usr/lib/libfoo.so
和myfoo/lib/libfoo.so
,请创建一个链接libmyfoo.so ->; myfoo/lib/libfoo.so
并使用-lmyfoo
而不是-lfoo
进行链接。It comes from qmake itself. It puts
qt_libspath
into link flags. It can be changed by either configuring and compiling Qt with a different directory prefix, or by modifying the qmake binary itself.An easy solution for you could be to create a filesystem-level link to the correct library version with a different name. That is, if you have
/usr/lib/libfoo.so
andmyfoo/lib/libfoo.so
, create a linklibmyfoo.so -> myfoo/lib/libfoo.so
and link with-lmyfoo
instead of-lfoo
.