如何在PRO文件中获取目标目录

时间:2017-08-21 07:28:00

标签: c++ qt qmake

我正在以调试模式构建应用程序,如何在pro文件中获取目标目录。 我没有使用“DESTDIR”

明确提到目标目录
    CORE_API_PATH = $$PWD/../Bin
    SEPARATOR = "/"

    QT       += core gui xml widgets printsupport svg

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

    TARGET = Cinemas
    TEMPLATE = app

    RC_ICONS += cinemas-icon.ico

    qtHaveModule(opengl) {
        DEFINES += QT_OPENGL_SUPPORT
        QT += opengl
    }

    LIBS += -lQt5Concurrent -lglu32 -lopengl32 -lglut32 -LC:\Qt\Qt5.3.2\Tools\mingw482_32\i686-w64-mingw32\lib\glut -LC:\Qt\Qt5.3.2\Tools\mingw482_32\i686-w64-mingw32\lib\glu32


    win32:CONFIG(release, debug|release): LIBS += "$$quote($${CORE_API_PATH}/Release/CoreApi.dll)"
    else:win32:CONFIG(debug, debug|release):  LIBS += "$$quote($${CORE_API_PATH}/Debug/CoreApiD.dll)"

    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/SSH/lib/ -lssh2
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/SSH/lib/ -lssh2
    else:unix: LIBS += -L$$PWD/SSH/lib/ -lssh2

    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/3rdparty/qwt/lib/ -lqwt
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/3rdparty/qwt/lib/ -lqwtd
    else:unix: LIBS += -L$$PWD/qwt/lib/ -libqwt


    QT += concurrent network

    CONFIG += c++11

    RESOURCES += \
        cinemasresource.qrc

    FORMS += \

我想将app.exe从当前文件夹复制到其他文件夹

1 个答案:

答案 0 :(得分:0)

在Windows上,您可以使用DLLDESTDIR变量来指定复制目标DLL或exe的位置。只需将其添加到.pro:

即可
CONFIG(release, debug|release): DLLDESTDIR +=  $$PWD/../exec

在Linux上,您可以使用QMAKE_POST_LINK变量,该变量包含在将TARGET链接在一起后执行的命令。所以它就像:

CONFIG(release, debug|release): QMAKE_POST_LINK += $$quote(cp project $$PWD/../exec)

此处project是您TARGET = project

提供的目标文件的名称

这些会将可执行二进制文件复制到比程序工作目录高一级的名为exec的目录中。你可以拥有自己的任意路径。