如何使用 Qt Creator 界面和设置传递 cmake 参数

vic*_*ann 4 qt cmake qt-creator

我试图弄清楚如何使用 Qt Creator 的设置并传递一些 CMake 参数。假设我有一个可以使用终端构建的应用程序,如下所示:

cmake .. -DQTDIR=/home/myCustomBuildStuff 
    -DLD_LIBRARY_PATH=/home/myCustomBuildStuff 
    -DCMAKE_INCLUDE_PATH=/home/myCustomBuildStuff/include
    # etc.
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用的是我的自定义构建的 Qt(以及其他一些库)。当我使用终端构建时,一切正常。

但现在我想尝试使用 Qt Creator 并使用 Qt Creator 设置传递所有 CMake 参数。

我尝试使用可在套件中找到的CMake 配置设置。我尝试修改Build Settings,并将我的参数直接添加到上面的Build Steps和/或CMake表中。这些都不利于和我的应用程序失败,包括我定制QtWidgetsmain.cpp

/usr/lib/x86_64-linux-gnu/libQt5Core.so.5:-1: error: 
    version 'Qt_5.9' not found (required by home/myCustomBuiltStaff/bin/uic)
Run Code Online (Sandbox Code Playgroud)

在上面的错误中,路径显然是错误的(需要在/home/myCustomBuiltStuff/文件夹中搜索)。但是如何使用 Qt Creator 设置传递该路径?

请注意,当我将所有路径作为参数传递给 CMake 时,我无法触及 CMake 文件的内容,只想让它在终端中构建时构建。

vic*_*ann 6

所以我遵循了评论中给出的建议,并且不得不添加我自己的自定义构建步骤,以确保我正确传递了想要的 CMake 参数。我找不到任何其他方式通过使用 Qt Creator 的设置和菜单来传递它们。

这是我所做的步骤列表:

  1. 转到Projects并选择Build要编辑的。如果您有多个配置,则必须为每个配置重复以下步骤。
  2. 禁用或删除默认的 CMake 步骤,通常类似于 cmake --build . --target all
  3. 选择您的Build directory.
  4. 添加新的自定义流程步骤,其中CommandcmakeArguments为您的 CMake 参数;通常,您会将工作目录保留为默认值。
  5. 添加新的自定义工序的命令make,并添加任何必要的参数(例如LD_LIBRARY_PATH)。
  6. 围棋和编辑Run设置:确保可执行文件指向一个你cmakemake刚创建。您还可以在那里添加任何必要的命令行参数。