问题标签 [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 回答
2809 浏览

qt - 在 Qt 中包含一个库,为什么这不起作用?

这看起来应该很简单。我在 Qt 中编译了一个库(这个newmat 库),并生成了文件 libnewmat.a。现在我需要将此库集成到另一个项目中,但我无法让它工作。

我在 .pro 文件中使用 LIBS 变量尝试了一些不同的方法,包括:

我什至尝试在路径中使用正斜杠和反斜杠,但没有任何区别。我还包括此检查以确保实际找到该库:

所以我知道这不是问题。我不明白的是,当我 ctrl+f 编译器输出(显示 qmake 在命令行中使用的命令)时,我没有找到对该库的任何引用。出于某种原因,我的 LIBS 变量在命令行上没有任何区别,而这正是我所期望的。这是编译器输出的示例,如果有人想仔细检查,我希望在其中引用该库:

我怀疑这里缺少一些非常简单的东西。

我在 Windows Vista 上使用 QtCreator。

0 投票
4 回答
31311 浏览

qt - 如何从源代码构建qt

在过去的几天里,我在 Qt 论坛和谷歌上搜索了很多,但我找不到这个问题的任何明显答案。

我找到了-prefix可以提供用于配置以指定不同安装目录的选项(甚至没有在 Windows 上记录),但这根本不是源代码和二进制文件的明确分离,因为构建仍然在源目录中完成,然后安装所需的文件被复制到安装目录。我尝试了这个-prefix选项,但遇到了一些问题。(即它不会将.pdb文件复制到安装目录。)

然后我发现了这个关于做影子构建的链接,但它有一个很大的限制,即构建目录必须与源目录处于同一级别。


我猜你没有尝试安装?所以试试吧。它应该将 Qt 安装到远离源的单独目录中。

你是说在我配置之后,我应该做nmake install 而不是只做nmake?我知道nmake 将处理从qmake 生成的makefile 并将它们放置在源Qt 目录中,但是nmake install 将确切地做什么,即在哪个目录中安装文件以及如何指定将安装文件的目录。

请注意,我已经这样做了:

上面两行的效果是qt是编译在源目录中的,而不是直接编译到我用prefix指定的builddir。然后将编译后的文件复制到我的 builddir 中。我希望有一些东西可以将我的 Qt 文件直接构建到构建目录,因为这样我在编译过程中仍然需要 4 Gb 的空间用于我的源目录。pdb 文件也没有复制到我的 buildir 中,这是另一个问题。

0 投票
3 回答
9173 浏览

qt - QMAKE 中的 GNU make --jobs 选项

我正在使用 qmake 为我们正在开发的小型 Qt C++ 应用程序生成 MinGW32 Makefile。我的问题:所有那些双/四核 CPU 都闲置在那里,而只有一个线程在构建。为了使事情并行化,我尝试通过 --jobs 4 进行制作,但问题是 qmake 生成了一个通用的 makefile,其中 make 再次使用 -f 调用。

生成makefile时是否可以强制qmake添加选项?或者也许还有另一种方法可以完全在 qmake 之外设置选项?我无法编辑那个特定的 Makefile,因为它是每次构建时自动生成的。

0 投票
1 回答
677 浏览

qt - 在 Qt 生成的 Makefile 中添加/追加 Makefile

我有一个构建环境,在其中向生成的每个 Makefile 添加一些前置和附加行。

如果我可以通过我的项目文件 ( .pro) 将这些行放入 qmake 生成的文件中,那就太好了。

当然,我可以通过一些简单的 shell 脚本来做到这一点,但从项目文件内部做会更好。有没有 qmake 命令可以使用?

有谁知道如何做到这一点?

例子:

0 投票
1 回答
1218 浏览

c++ - 使用 MSVC Express 的 qmake 中的头文件依赖项

我在 Windows 上使用 QtCreator,使用 MSVC 编译器(Visual c++ express edition 的编译器)和 qt 4.5.2 开源。

当我修改项目的标题并按全部构建时,实际上没有构建任何内容,只有当我修改 .cpp 文件时,才会编译修改后的 cpp。

这导致每次我必须更改几个 .cpp 文件使用的一些头文件时,我都必须重新构建一个完整的项目。有没有办法避免这种行为?

提前致谢

0 投票
1 回答
1335 浏览

qt - 将 Qt 样式表导出到输出目录

我在我的 Qt 桌面应用程序(.qss 文件)中使用样式表,但我不知道如何使 .pro 文件将 .qss 文件复制到输出目录(正在创建 .exe 文件的位置),这意味着应用程序完全无需任何样式即可运行。

我曾经从 Visual Studio 运行项目,VS 会为我处理所有这些。但是现在我已经从 VS 导出了 .pro 文件以在 Qt Creator 中使用它,我认为我必须手动向 .pro 文件添加一些命令才能复制该文件。

我对 QMake 不是很熟悉,但我尝试过使用“OTHER_FILES +=”和“INSTALLS +=”命令,但我无法将样式表复制到目标目录。

如果我手动将文件复制到 dest 目录,一切都会像魅力一样工作,但这需要我在每次更改时手动复制它。

对此问题的任何帮助将不胜感激。提前致谢!

0 投票
5 回答
16204 浏览

qt - Qt moc.exe 不生成 *.moc 文件

我正在尝试构建qtestlib/tutorial1 示例,但运行时未生成testqstring.moc文件nmake(我在 Windows XP SP3 上运行 Qt 4.5.2)。
我将testqstring.cpp从教程目录复制到我的构建目录 ( C:\sandboxes\testqstring ) 并从 Qt 命令提示符运行我的 MS Visual Studio 8 安装中的 vsvars32.bat 文件以添加 VS 环境变量。

根据教程,我应该运行:

当我这样做时,输出nmake是:

C:/Apps/Qt/2009.03/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_TESTLIB_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"....\Apps\Qt\2009.03\qt\include\QtCore" -I"....\Apps\Qt\2009.03\qt\include\QtGui" -I"....\Apps\Qt\2009.03\qt\include\QtTest" -I"....\Apps\ Qt\2009.03\qt\include"-I"." -I"....\Apps\Qt\2009.03\qt\include\ActiveQt" -I"调试" -I"....\Apps\Qt\2009.03\qt\mkspecs\win32-g++" -D__GNUC__ - DWIN32 testqstring.cpp -o 调试\testqstring.moc

g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_TESTLIB_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"....\Apps\Qt\2009.03\qt\include\QtCore" -I" ....\Apps\Qt\2009.03\qt\include\QtGui" -I"....\Apps\Qt\2009.03\qt\include\QtTest" -I"....\Apps\Qt\2009.03 \qt\包括“-I”。-I"....\Apps\Qt\2009.03\qt\include\ActiveQt" -I"调试" -I"....\Apps\Qt\2009.03\qt\mkspecs\win32-g++" -o 调试\testqstring.o testqstring.cpp

testqstring.cpp:63:27: testqstring.moc: 没有这样的文件或目录
NMAKE : 致命错误 U1077: 'C:\Apps\Qt\2009.03\mingw\bin\g++.EXE' : 返回码 '0x1' 停止。
NMAKE:致命错误 U1077:'C:\PROGRA~1\MICROS~3\VC\BIN\nmake.exe':返回码 '0x2' 停止。

因此,我可以看到正在调用 moc.exe 来生成 debug/testqstring.moc,但从未生成该文件。

感谢您提供的任何和所有指导。

0 投票
1 回答
16395 浏览

c++ - *.pro 文件的用途是什么?

我刚开始使用 Qt 并注意到在每个示例代码文件夹中都有一个.pro文件(并且还创建了一个 makefile ......为什么?)。文件的目的是什么.pro

0 投票
6 回答
24842 浏览

c++ - 为什么 Qt 使用自己的 make 工具 qmake?

我刚开始使用Qt并注意到它使用自己的制作工具qmake

  • 为什么 Qt 使用自己的 make 工具?
  • 有什么特别的东西阻止它使用标准的制作工具吗?
  • qmake 是否调用GCC C++ 编译器?
0 投票
2 回答
58858 浏览

qt - 如何使用 QMake 的 subdirs 模板?

我开始学习Qt。我正在离开 Visual Studio 世界,我正在寻找一种使用 QMake 来组织我的项目结构的方法。我找到了“子目录”模板,但我很难理解它。

我的项目结构如下所示:

我的project.pro看起来像这样

在子目录的.pro文件中,我设置了适当的SOURCESHEADERSRESOURCES变量。

请告诉我应该在.pro文件中设置哪些TARGETTEMPLATE和其他必要的值。

另外,除了官方的之外,还有其他好的 QMake 教程吗?