代码之家  ›  专栏  ›  技术社区  ›  Rob

使用qmake/qt creator链接调试/发布库

  •  24
  • Rob  · 技术社区  · 15 年前

    我正在使用Qt Creator,并有一个依赖于C++静态库项目的QT-GUI项目。我想将GUI应用程序的发布版本与.lib的发布版本链接起来,将GUI应用程序的调试版本与debug.lib链接起来。我已经了解了如何通过在.pro文件中包含如下行向项目添加其他库:

    LIBS += -L./libfolder -lmylib.lib

    但我看不出我怎么能用不同的 -L 用于发布和调试生成的命令。

    Qmake中是否支持这样做?

    2 回复  |  直到 6 年前
        1
  •  23
  •   feedc0de RushPL    6 年前

    在项目文件中,可以这样做

    debug {
        LIBS += -L./libfolder -lmydebuglib.lib
    }
    
    release {
        LIBS += -L./libfolder -lmyreleaselib.lib
    }
    

    如果调试已添加到config qmake变量,则使用调试括号内的位;同样,如果发布已添加到config变量,则包含发布括号内的内容。

    您也可以使用“!“调试”而不是“发布”(即当调试不在配置中时)

    你可以找到更多关于Qmake的信息 here .

        2
  •  43
  •   Marc Mutz - mmutz    11 年前

    正常人

    debug:LIBS += ...
    else:LIBS += ...
    

    当用户天真地使用时,解决方案会中断 CONFIG += debug CONFIG += release 在调试和发布构建之间切换(它们确实如此;没有人记得说过 CONFIG -= release release_and_debug 之前 CONFIG+=调试 :)

    这是规范的方法 debug :

    CONFIG( debug, debug|release ) {
        # debug
        QMAKE_LIBDIR += "path/to/debug/lib"
    } else {
        # release
        QMAKE_LIBDIR += "path/to/release/lib"
    }
    

    囊性纤维变性。 the qmake docs .

    编辑2013-11-17 不要使用 -Lfoo 在里面 LIBS . 规范的方法是添加路径(不使用 -L QMAKE_LIBDIR .