QT Creator里printf函数输出到“应用程序输出”界面?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT Creator里printf函数输出到“应用程序输出”界面?相关的知识,希望对你有一定的参考价值。
我在QT Creator环境下编译程序,使用printf函数命令输出,之前输出的内容都会显示在“应用程序输出”窗口,后来不知为何“应用程序输出”窗口不再显示内容了,只提示“
调试开始
调试正常结束
”两行字
printf("SM2_do_decrypt %d %d\n", ret, outLen);
fflush(stdout); 参考技术A 项目配置中 选择 终端运行 参考技术B 你把那个窗口关闭了,点编辑框上面的还原就行了
Qt Creator:将 .exe 输出复制到文件夹中
【中文标题】Qt Creator:将 .exe 输出复制到文件夹中【英文标题】:Qt Creator: copy .exe output into a folder 【发布时间】:2014-05-12 08:36:00 【问题描述】:很抱歉,如果该问题已被提出,但经过一些研究后我找不到答案。我想将项目的 .exe 自动复制到文件夹中。
我使用的是 Qt creator 5.0.1 MSCV2010,它总是产生两个输出:发布和调试。
例如,我希望/release/project.exe
在/release/exec/project.exe
中。
我看到我可以在 .pro 中复制 .dll 之类的文件:
INSTALLS =
但它只适用于已经存在的文件,或者编译后生成的.exe。我想我可以将其指定为:
projects settings->Build compilation->step Make : jom.exe in C:\path\to\project-release
但我不知道需要什么参数, 问候
【问题讨论】:
请注意,qmake 和 Qt Creator 是两个不同的东西。他们经常一起使用,但无论哪种方式都不相互依赖。 【参考方案1】:在 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
的目录,该目录比程序工作目录高一级。你可以有你的任意路径。
【讨论】:
非常感谢,第一个命令对我来说很好。我不知道 .pro 的这个说明,但它在未来会很有用。【参考方案2】:使用命令和参数添加自定义构建步骤
对于 Windows(假设您正在为发布版本执行此操作):
xcopy
Release\<target.exe> path\to\destination\file.exe /Y
%buildDir
【讨论】:
【参考方案3】:这应该可行。我找不到任何指向 target_path 的variable。所以我定义了它:
### to copy target file to build folder
CONFIG(debug, debug|release)
TARGET_PATH = $$OUT_PWD/debug
CONFIG(release, debug|release)
TARGET_PATH = $$OUT_PWD/release
win32: QMAKE_POST_LINK += copy /y "$$shell_path($$TARGET_PATH/app_name.exe)" "$$shell_path($$PWD/../build/)"
unix: QMAKE_POST_LINK += cp "$$shell_path($$TARGET_PATH/app_name)" "$$shell_path($$PWD/../build/)"
【讨论】:
以上是关于QT Creator里printf函数输出到“应用程序输出”界面?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Qt Creator 将 C++ 头文件添加到 Qt 项目
用于命令行的 Qt Creator 标准输入,可部署到远程 Linux 主机