问题标签 [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 投票
5 回答
58529 浏览

qt - Qmake 项目依赖(链接库)

我有一个链接到许多共享库的项目。

假设项目 A 依赖于项目 B 和 C

理想情况下,我想在我的项目文件中强加以下依赖项:

  1. 如果自上次构建项目 A 以来已重建 B 或 C,则重建项目 A
  2. 使用相关配置的输出(即,如果在调试模式下构建项目 A,则使用项目 B 和 C 的调试版本的库)

有谁知道我如何在我的项目文件中明确表达这种依赖关系?

0 投票
3 回答
83760 浏览

ubuntu - ld 链接问题:/usr/bin/ld: 找不到 [libraryname]

我使用 Qmake 在 Ubuntu 9.10 上构建共享库

此共享库 (A) 依赖于另一个共享库 (B)。

B项目建设成功。

在项目 A 的 .pro 文件中,我的 LIBS 变量如下所示:

(我使用了完整的 shlib 名称,因为库版本不同。)

无论如何,当我尝试构建项目 A 时,它会在链接阶段中断,并打印错误消息:

从错误消息中,我以为 ld 抱怨它找不到 libdatelib 文件,所以我手动将它复制到 /usr/lib/

但是,这并没有解决问题,并且我收到了相同的错误消息。

任何人都知道如何解决这个问题?

[编辑]

我对使用 gcc 进行构建非常陌生。我知道如何创建符号链接,但我应该为 lnk 命令使用哪些路径?我要链接的文件在 /home/username/work/cppdev/datelib/bin 中。

此外,我使用的构建系统 (qmake) 会自动创建符号链接作为构建的一部分,因此我的 /home/username/work/cppdev/datelib/bin 文件夹中已经有以下文件:

  • libdatelib_release.so(符号链接)
  • libdatelib_release.so.1(符号链接)
  • libdatelib_release.so.1.0(符号链接)
  • libdatelib_release.so.1.0.0(共享库)

我可能不得不问另一个问题来解释为什么有这么多符号链接(有什么意义?),以及为什么我不能直接链接到共享库,而必须通过符号链接。我已经阅读了一些在线文档,但到目前为止我所看到的似乎更像是格言/传统,而不是实际的技术原因。为什么在 Linux 上链接时需要这种抽象级别。

0 投票
5 回答
11512 浏览

qt - 在 Linux 上使用 qmake 构建 - 如何防止 qmake 链接到 QtCore 和 QtGui

我有一个共享库(没有 QT 依赖项)[库 B],它链接到另一个共享库(也没有 QT 依赖项)[库 A]。

我正在使用 Qmake 和 QT Creator 1.3。问题是,当我构建库 B 并在可执行文件上运行 ldd 时,它被链接到 QtCore 和 QtGui,这两个文件都拉入了大量不需要的文件,导致可执行文件加载时间很长,并且有不需要的文件依赖关系。

我已经尝试了几乎所有方法来阻止 qmake 将这些库链接到库 B。

我的库 B 项目文件的片段如下所示:

我在 Ubuntu 9.10 上使用 QtCreator 3

QT 是版本 4.5.2

0 投票
3 回答
4057 浏览

c++ - 如何让 qmake 在 Visual Studio .sln 项目中生成“项目依赖项”

我有几个库和一个依赖于它们的应用程序的qmake构建。使用 subdirs 模板,我可以让 qmake 输出一个 .sln 文件,该文件在 VC2008 中几乎符合我的喜好。尽管我已经以所描述的各种方式指定了目标之间的依赖关系,但最终在 .sln 文件中没有“项目依赖关系”,我必须手动添加它们。

到目前为止我已经尝试过

正确订购无济于事。

同样,更神秘的语法:

这也行不通。当我加载 sln 时,没有任何依赖项出现。

0 投票
4 回答
31736 浏览

qt - 如何使用 qmake 生成 .sln/.vcproj

main.cppc:\test文件夹中并执行以下操作:

答案是:

但是,我不需要制作文件。我需要.vcproj!

环境:Windows XP Pro SP3、MSVC 7.1 和 8.0。Qt 安装在C:\Qt\2010.02(LGPL 版本)中。命令从 Qt 命令提示符运行。

它出什么问题了?如何生成 .sln/.vcproj?我可以为 MSVC 7.1 和 8.0 生成它们吗?

0 投票
1 回答
9841 浏览

c++ - 如何混合 Qt、C++ 和 Obj-C/Cocoa

我在 Mac 上有一个纯 C++/Qt 项目,但我现在发现我需要调用一些仅在 Cocoa API 中可用的方法。遵循此处列出的说明:

http://el-tramo.be/blog/mixing-cocoa-and-qt

我在“.m”文件中有一个 C++ 类实现。作为测试,我的“foo.m”文件包含以下代码(#include为清楚起见,已删除相关方法):

显然,我需要将 .m 文件添加到名为 .m 的 qmake 变量OBJECTIVE_SOURCES中。我的项目 .pro 文件如下所示:

但是,每当我尝试编译我的项目时,都会收到以下错误:

foo.h:4expected '=', ',', ';', 'asm' or '__attribute__' before 'foo'

这是指向class foo我的头文件中的文件。如果我从 .m 文件中删除所有可可调用,并将 .m 文件移动到SOURCES我的 Qt .pro 文件的部分,一切都会按预期工作。

我正在使用 Qt 4.6.0。

我的问题是:将 Cocoa 调用与 Qt / C++ 集成的推荐方法是什么,在上面的示例中我做错了什么?

0 投票
3 回答
2865 浏览

qt - Qt 插件不工作

我创建了一个自定义小部件插件。该插件与 Qt Creator 集成得很好,但是当我编译程序时,我收到了这个错误:

“test.h:没有这样的文件或目录”

其中 test.h 是自定义小部件的名称。我究竟做错了什么?这是应用程序的 *.pro 文件:

这是插件的 *.pro 文件:

0 投票
11 回答
119029 浏览

qt - 如何在 QMake .pro 文件中指定不同的调试/发布输出目录

我有一个 Qt 项目,我想在源代码树之外输出编译文件。

我目前有以下目录结构:

根据配置(调试/发布),我想在 build/debug 或 build/release 目录下的 build 目录中输出结果文件。

我怎样才能使用 .pro 文件做到这一点?

0 投票
1 回答
3219 浏览

python - 如何使用 qmake 在 OSX 10.6 上链接为 .so 而不是 .dylib

我正在尝试使用 SWIG 包装一些 C++ 代码以供 Python 使用。如此处所述似乎有必要将我的 C++ 代码链接到.so文件,而不是.dylib文件。该线程建议libtool与标志结合使用-module来链接,但我正在使用 qmake 并且需要更精确的说明来说明我如何做到这一点。

我的 .pro 文件(用于 qmake)如下所示:

我先调用swig,然后调用qmake,然后make使用 Eclipse 构建器:

编译和链接工作正常,但给我留下了bin/_mylibname.dylib,当我运行我的 python 应用程序时,语句导入_mylibname失败。

有谁知道我如何让 qmake 构建 a*.so而不是 a *.dylib,可能使用libtool(或任何其他我关心的方式)?我的平台:

  • Mac OS X 雪豹 (10.6)
  • 蟒蛇2.6
  • SWIG 1.3.31
  • qmake 2.01a 与 Qt 4.6.2
  • g++ i686-apple-darwin10-g++-4.2.1

我对链接问题不是很了解,所以请温柔:-)

奥莱

0 投票
2 回答
1194 浏览

c++ - 出错:C++ 脚本中缺少包含?

几分钟前,我刚刚在 SO 上获得了有关如何编译此脚本的帮助,但我设法得到了错误。我只是 C++ 的初学者,不知道下面的错误是什么意思或如何修复它。

这是有问题的脚本。我已经阅读了一些用户的评论,建议他们更改了#include部分,但这似乎正是脚本所具有的,请参阅此评论

我的 Fedora Core 10 机器上有 Web 工具包:qt-4.5.3-9.fc10.i386 qt-devel-4.5.3-9.fc10.i386

谢谢大家的帮助