问题标签 [qmake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7310 浏览

c++ - 如何将“警告为错误”规则添加到 Qt .pro 文件?

当我通常在一个C++项目上工作时,我做的第一件事就是在我的编译器上设置“将警告视为错误”。

使用时Qt,会为您qmake生成,Makefile并且不会在编译命令中包含此选项。我很确定有一种方法可以将这样的选项(和其他选项)添加到生成的文件中Makefile,但我无法弄清楚。

我该怎么做?

Qt我使用with的开源版本g++作为编译器。

0 投票
1 回答
568 浏览

c++ - 在 32 位 Xp 计算机上构建 64 位 Qt

我正在尝试在我的 32 位 XP 系统上以共享的 64 位模式构建 Qt。

我可以配置 QMake 并启动 64 位构建。问题是,当构建开始时,首先发生的事情是该过程以 64 位模式构建 ui、moc 和 rcc 实用程序编译器,然后尝试在我的 32 位机器上运行它们。

有谁知道如何配置构建以便它不会先构建那些编译器?

0 投票
2 回答
3362 浏览

c++ - 使用 Cmake 和/或 qmake 查找 Microsoft SDK (psapi.lib)

我有一个使用 Qt 4.6 和 Microsoft SDK(Psapi.Lib)的应用程序。

我使用 cmake 或 qmake 来构建。

对于 qmake 和 cmake,我硬指定 Psapi.lib 的路径。

制作:

制作:

但我想避免艰难的道路,有没有办法搜索SDK lib?

对于linux,搜索没有问题:

制作:

制作:

有可能做同样的吗?谢谢。

0 投票
1 回答
219 浏览

qt4 - Qt4书上说“make release”,现实不同意

根据各种来源,对于 Qt4 应用程序,您使用“make release”或“make debug”构建发布或调试版本。在现实生活中,这些会产生错误。

只有赤裸裸的“制作”作品。我不确定它会产生什么。运行“strip”确实减少了可执行文件的大小,但 gdb 没有在未剥离的文件中找到符号。我在 Arch Linux 上使用 qt4.6.2。

那么确定是发布还是调试的正确方法是什么?

0 投票
1 回答
2401 浏览

qt - Qt 中的多种配置

我是 Qt Creator 的新手,我有几个关于多个构建配置的问题。附注:我的 Linux 机器上安装了 QtCreator 1.3.1。

我需要在我的 Qt Creator 项目中有两个配置。问题是这些不仅仅是调试和发布,而是基于目标架构 - x86 或 x64。我遇到了 在 Qt / Qmake 中构建多个目标, 然后我尝试了类似的方法:

但是,这种方式我似乎无法使用 Qt Creator IDE 来分别构建其中的每一个(IDE 菜单中的 Build All、Rebuild All 等选项)。有没有办法实现这一点 - 甚至可以将 Conf_x86 和 Conf_x64 显示为 Qt Creator 中的新构建配置?

我拥有的另一件事是 Qt 是 64 位的,因此默认情况下,使用 Qt Creator IDE 构建的目标也将是 64 位。我注意到构建步骤中有效的 qmake 调用包括以下选项-spec linux-g++-64。我还注意到,如果我添加-spec linux-g++-32“附加参数”,它会覆盖-spec linux-g++-64,结果目标将是 32 位。
如何通过简单地编辑 .pro 文件的内容来实现这一点?我看到所有这些更改最初都保存在 .pro.user 文件中,但这根本不适合我。如果可能的话,我需要能够从 .pro 文件中进行这些配置。

0 投票
2 回答
1653 浏览

qt - 使用 QMake 时可能延迟 DLL 加载?

在我的项目中,我有一组要延迟加载的 DLL,即在首次使用时而不是在进程启动时加载。这意味着我想对某些 DLL(而不是 Qt 本身)使用 MSVC 链接器的 /DELAYLOAD 标志(有关更多说明,请参见 [1])。原因是某些用户在 DLL 初始化期间遇到崩溃(我们无法重现)。该软件以前的非 Qt 版本没有这个问题,但它使用了延迟加载,所以这可能会有所不同。

使用 QMake,我发现没有办法让延迟加载工作。有谁知道如何将 /DELAYLOAD 传递给 msvc 链接器,在绕过 qmake 时使用 qmake 功能?

[1] http://www.codeproject.com/KB/DLL/Delay_Loading_Dll.aspx

0 投票
6 回答
59417 浏览

qt - 添加一个定义到 qmake WITH 一个值?

如何使用带有值的 qmake 添加定义:

例如,这在我的 .pro 文件中不起作用(如我所料):

也不

如何在开始编译之前将 WINVER 定义为 0x0500,以便它的定义不受编译或包含顺序的任何影响?

0 投票
1 回答
1632 浏览

c++ - 可以在 .pro 文件中包含 C/C++ 头文件吗?

是否可以在 qmake (.pro) 文件中包含 C/C++ 头文件?

我有一个version.h头文件,其中包含我的项目的多个定义(字符串、版本号等)。我还有一个用于 Windows 的 .rc 文件,用于将版本信息添加到我的 exe/dll 中,其中包括这个头文件。

那么,我能否以某种方式让我的头文件中的#defines 在我的 .pro 文件中进行处理,或者我可以使用什么其他方式在一个文件中定义字符串和其他常量,并让它们可以从我的 C++ 代码 .rc 中访问文件和 .pro 文件通过包含该文件?

0 投票
2 回答
16298 浏览

qt - 使用 Qt/qmake 时如何将生成的文件(例如目标文件)放入单独的文件夹中?

我有一个使用 qmake 的 Qt 项目。为了提高清晰度和可读性,我想保留

  • 源文件
  • 构建系统
  • 生成的文件(例如目标文件)

分离。

所以我的第一步是将源文件放入 src/ 子目录:

这样,我将源文件与构建系统 (*.pro) 分开。但是,当我随后运行时qmakemake生成的文件(目标文件等)被放置到主项目文件夹中:

好吧,至少它们没有被放入src/文件夹中,但是我如何指定它们被放入另一个子文件夹中,例如build/

(顺便说一句,我不在乎目标二进制文件myproject放在哪里,但我想它应该直接放在项目文件夹而不是放在build/.)

0 投票
5 回答
33839 浏览

c++ - 使用 pkg-config 输出将库链接到 QT 项目

这是一个新手问题。我正在尝试将 OpenCV 库添加到 QT 项目中。

这个问题说链接标志由

如果我将命令行输出粘贴到项目文件中,例如:

然后一切都编译得很好,但现在这不是可移植的。我怎样才能简单地引用命令的输出?

更新:尝试了 Ken Bloom 的建议,但无法编译。实际生成的编译器命令是