【问题标题】:How do I remove the library paths that qmake automatically adds to the linker options如何删除 qmake 自动添加到链接器选项的库路径
【发布时间】:2011-01-19 22:13:18
【问题描述】:

想尝试使用 qt creator(来自 eclipse cdt)并且我正在尝试构建我的项目。不幸的是,qmake 自己将 -L/usr/lib 添加到链接器选项中,使其链接到错误版本的库,我不知道如何删除它。

我尝试在项目文件中执行“LIBS =”以及“LIBS -= -L/usr/lib”,但它似乎在从项目文件中读取设置后添加了该选项。任何人都知道某处(例如 mkspecs 目录)是否有一个 conf 文件,我可以在其中将其注释掉?谢谢。

【问题讨论】:

    标签: c++ qt4 qt-creator qmake


    【解决方案1】:

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

    对您而言,一个简单的解决方案是创建一个文件系统级链接,指向具有不同名称的正确库版本。也就是说,如果您有/usr/lib/libfoo.somyfoo/lib/libfoo.so,则创建一个链接libmyfoo.so -> myfoo/lib/libfoo.so 并用-lmyfoo 链接而不是-lfoo

    【讨论】:

    • 我相信它链接到了错误版本的 libstdc++,我没有明确地添加到链接器选项中。它看起来好像来自 QT_INSTALL_LIBS,我可以使用“qmake -set”进行更改,但可能会弄乱一堆其他东西。糟透了,他们在链接器标志中强制这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多