我正在试图弄清楚如何使用Qt Creator的设置并传递一些CMake参数。假设我有一个可以使用终端构建的应用程序,如下所示:
cmake .. -DQTDIR=/home/myCustomBuildStuff
-DLD_LIBRARY_PATH=/home/myCustomBuildStuff
-DCMAKE_INCLUDE_PATH=/home/myCustomBuildStuff/include
# etc.
正如您所看到的,我正在使用我的自定义Qt(以及其他一些库)。当我使用终端构建时,一切正常。
但是现在我想尝试使用Qt Creator并使用Qt Creator设置传递所有CMake参数。
我尝试使用套件中的 CMake配置设置。我尝试修改构建设置,并将我的参数直接添加到上面的构建步骤和/或 CMake 表中。这些都没有帮助,我的应用无法包含QtWidgets
的自定义内置main.cpp
:
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5:-1: error:
version 'Qt_5.9' not found (required by home/myCustomBuiltStaff/bin/uic)
在上面的错误中,路径显然是错误的(它需要在/home/myCustomBuiltStuff/
文件夹中搜索)。但是如何使用Qt Creator设置传递该路径?
注意,当我将所有路径作为参数传递给CMake时,我无法触及CMake文件的内容,只想让它在我的终端中构建。
答案 0 :(得分:3)
所以我遵循了评论中给出的建议,并且必须添加我自己的自定义构建步骤,以确保我正确传递了所需的CMake参数。我无法通过使用Qt Creator的设置和菜单找到任何其他方式来传递它们。
这是我所做的步骤列表:
Projects
并选择Build
进行修改。如果您有多个配置,则必须为每个配置重复以下步骤。cmake --build . --target all
Build directory
。cmake
,参数作为您的CMake参数;通常你会将工作目录保留为默认值。make
并添加任何必要的参数(例如LD_LIBRARY_PATH
)。 Run
设置:确保可执行文件指向刚刚创建的cmake
和make
。在那里,您还可以添加任何必要的命令行参数。答案 1 :(得分:0)
这是我正在使用的4.3.1版本。如果还没有完成,你应该有最新版本的qtcreator。
文件>打开:
选择项目的CMakeLists.txt文件。选择你的目标,你应该能够至少打开项目。
现在点击" Projects"。确保您选择了Build&运行 - >在Cmake下构建并点击"添加" - > "字符串"或"目录"。在您的情况下,目录更有意义。在左边你输入了定义,没有" -D"当然和正确的价值。
对要定义的每个变量重复此步骤,然后单击"应用"
如果这不起作用,我会尝试将CMAKE_EXE_LINKER_FLAGS设置为-L/home/myCustomBuildStuff
提示:要查看它是否有效,如果您在构建步骤部分下使用makefile,则可以将VERBOSE = 1参数传递给工具参数。这样你的输出就会显示变量是否真的通过了。
提示:记住激活"高级"选择,这样你就可以看到更多,如果不是所有变量都定义为Cmake。