如何删除 qmake 自动添加到链接器选项的库路径

发布于 2024-10-13 01:37:41 字数 230 浏览 1 评论 0原文

想尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋心╮凉 2024-10-20 01:37:41

它来自 qmake 本身。它将 qt_libspath 放入链接标志中。可以通过使用不同的目录前缀配置和编译 Qt,或者修改 qmake 二进制文件本身来更改它。

对您来说,一个简单的解决方案可能是使用不同的名称创建指向正确库版本的文件系统级链接。也就是说,如果您有 /usr/lib/libfoo.somyfoo/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 and myfoo/lib/libfoo.so, create a link libmyfoo.so -> myfoo/lib/libfoo.so and link with -lmyfoo instead of -lfoo.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文