gpt4 book ai didi

qt - CMake + Qt : define the moc/ui output directory

转载 作者:行者123 更新时间:2023-12-04 20:20:29 25 4
gpt4 key购买 nike

我目前正在将使用 qmake 构建的项目转移到 CMake。

在带有 qmake 的版本中,在 .pri 文件中,有

MOC_DIR = .moc/$${PLATFORM_NAME}

允许在给定目录中生成 MOC 临时文件,保持源代码干净。如何用 CMake 做同样的事情?

注意:对于 CMake,我使用 FindQt4.cmake包和命令 QT4_WRAP_CPP() .

最佳答案

正如 baysmith 所说,如果您的目标是保持源目录干净,那么真正的解决方案是使用 CMake 的 "out-of-source"构建功能。如果您使用的是 Windows,请将“构建二进制文件的位置”设置为一个新目录,与“源代码在哪里”目录不同。如果你在 Unix 上,它会是这样的:

cd <source directory>
mkdir build
cd build
cmake ..
make

通过在不同目录上运行 CMake,所有构建文件都将进入该目录,并且您的源代码将保持干净。 (注意:构建目录不必在源目录中。更多细节见 CMake wiki。)

如果“源外”对您不起作用,我可以找到另一种选择。根据我从 Qt4Macros.cmake 中了解到的信息文件与我的 CMake 2.8 一起安装,它不能作为配置参数访问。这是相关的行:
SET(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})

解决方法是更改​​所有 MOC 包含指令以指定要构建到的子文件夹。
#include "moc/mainwindow.moc"

创建后 moc我的构建目录中的目录,构建没有问题,并且我的 MOC 文件位于新目录中。

关于qt - CMake + Qt : define the moc/ui output directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7033610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com