我正在Qt Creator中构建一个项目,虽然我不关心中间.obj文件的位置,但重要的是要将最终的可执行文件放入(并从其运行)一个特定的目录,在该目录中可以找到许多依赖DLL等。
所以,在Qt Creator中,我选择了'Shadow Build‘选项并指定了这个目录的路径。
然而,我总是发现,最终的可执行文件不是放在这个目录中,而是放在
the_Directory_I_Actually_Want/debug..。这对我没有用,因为当我试图在Qt Creator中运行或调试程序时,它不会启动,因为它所依赖的all都在the_Directory_I_Actually_Want中,而不在/debug子目录中。
我已经尝试在我的.pro文件中将DESTDIR设置为the_Directory_I_Actually_Want,并且我已经尝试在我的.pro文件中将目标设置为the_Directory_I_Actually_Want/projectName,并且我已经尝试了各种选项,这些选项都是“工具包”配置的一部分,似乎没有任何东西让我能够控制它。
有没有办法做到这一点,或者我必须改变我的构建系统的其余部分,只是为了Qt Creator的利益?
发布于 2018-08-22 22:48:24
三年后。
只需使用:
CONFIG -= \
copy_dir_files \
debug_and_release \
debug_and_release_target发布于 2015-01-03 01:06:53
在Windows上,您可以使用DLLDESTDIR变量来指定将目标dll或exe复制到的位置。只需将以下内容添加到您的.pro中:
CONFIG(release, debug|release): DLLDESTDIR += $$PWD/../exec在Linux上,您可以使用QMAKE_POST_LINK变量,该变量包含将目标链接到一起后要执行的命令。所以它是这样的:
CONFIG(release, debug|release): QMAKE_POST_LINK += $$quote(cp project $$PWD/../exec)其中,project是由TARGET = project提供的目标文件的名称
它们会将可执行二进制文件复制到比程序工作目录高一级的名为exec的目录中。你可以选择任意的路径。
https://stackoverflow.com/questions/27745076
复制相似问题