【问题标题】:CMake: Qt Project to CLion with MSVC 2017CMake:使用 MSVC 2017 到 CLion 的 Qt 项目
【发布时间】:2020-12-04 15:55:18
【问题描述】:

我在 Qt Creator 中有一个项目,我正在尝试将其移植到 CLion 中,但我发现自己遇到了一些问题。如果你们中的任何人可以帮助我移植这个 CMake 项目,我将不胜感激。


Qt 创建者

那么,这是我首先为 Qt Creator 项目设置的:

Qt: 5.14.2

编译器: MSVC 2017 64 位

另外,这是我的自定义路径和构建环境:

此外,Qt Creator 中的构建(安装)时间大约需要 20-30 分钟。


CLion

现在就 CLion 而言,我在这里尝试过的内容如下。

在设置 CMake 方面:

我还从 CLion 将路径添加到环境变量中

但是当我尝试编译项目时,问题就出现了。 我将通过 Build -> Install

安装项目

之后,我需要等待大约 1 小时或更长时间(即使在 Qt Creator 中只需要 20-30 分钟),直到构建失败,我将收到以下错误消息

MASM : fatal error A1000: cannot open file : 4 [C:\PRJOJECT_NAME\build_clion\components\extern_crashpad\crashpad\util\crashpad_util.vcxproj]

但如果我正在搜索该文件,它存在于指定的那个文件夹中。但问题是我不明白为什么使用 Qt Creator 构建的同一个项目可以正常工作,反之则不然。你们中的任何人都可以帮助我理解我做错了什么吗?

【问题讨论】:

    标签: c++ qt cmake qt-creator clion


    【解决方案1】:

    看起来 QT Creator 使用 Ninja 作为生成器,而 CLion 使用 MSVC。

    在您的 CLion CMake 选项文本框中尝试 -G Ninja。确保 Ninja 位于 CMake 可访问的路径中。

    【讨论】:

    • Qt Creator 使用 Ninja 是什么意思?我的意思是在 Qt Creator 中,我创建了一个包含 MSCV 2017 的套件。剂量并不意味着它将使用 MSCV 作为生成器?
    • 发电机不同于套件。您的 QT Creator CMake 项目正在使用 Ninja 生成构建文件。您的 CLion CMake 项目正在使用 Visual Studio 生成构建文件。您是否尝试过在 CLion 中将 -G "Visual Studio..." 命令更改为 -G Ninja? @Mircea
    • 其实是的,我试过了,效果很好,只是忘记接受你的回答了。
    • 但是如果您知道并且可以帮助我,我还有一个问题。在我构建此代码后,它将生成一个 exe 文件。在 Qt Creator 中,我在配置中有一个选项可以运行以将该可执行文件作为自定义可执行文件执行,我可以从中指定工作目录和可执行文件。我怎么能在 CLion 中做到这一点,因为我找不到类似的东西?
    • 单击工具栏上的编辑配置按钮。 i.stack.imgur.com/07NDs.png 并更改可执行目标的工作目录。
    猜你喜欢
    • 2018-03-17
    • 2016-06-19
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 2020-07-25
    • 2017-10-28
    • 2018-03-26
    • 2021-09-15
    相关资源
    最近更新 更多