我发现在Clion cmake总是添加-G "CodeBlocks - Unix Makefiles"
参数。它使用cmake ../
使camke的产生与众不同
如您所见,我没有在CMake选项中添加任何参数。但是CLion添加-G“CodeBlocks - Unix Makefiles”。
根据jetbrains的说法。此功能将被修复,但不知道何时.CLion CMake默认生成器是CodeBlocks - Makefiles。
如果你通过CLion构建OpenCV,你会发现最后的CMake错误,如下所示。这是由-G "CodeBlocks - Unix Makefiles"
引起的
Problems were encountered while collecting compiler information:
cc1plus: fatal error: /--/--/cmake-build-release/modules/calib3d/perf_precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/calib3d/perf_precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/calib3d/perf_precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/calib3d/perf_precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/calib3d/perf_precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/calib3d/perf_precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
cc1plus: fatal error: /--/--/cmake-build-release/modules/core/precomp.hpp: No such file or directory
回答你的问题:你不能在CLion中更改makefile生成器而你不需要。
让我解释一下原因:
如果您仔细阅读输出,您将在所有错误消息之前看到以下内容:
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/opencv/cmake-build-debug
这表明CMake项目的实际配置成功。此外,CLion使用大量目标填充“运行/调试配置”下拉列表。 CMake配置很好,您可以编写,编译和运行所有内容。如果CMake失败了,情况就不是这样了。
然而,在CMake完成后,CLion想要执行一些额外的魔术(我不知道)。这就是所有错误消息的来源。
要摆脱它,您必须将以下标志添加到CMake配置对话框中的CMake选项:
-DENABLE_PRECOMPILED_HEADERS=OFF
。
顺便说一下:构建类型是通过“Build Type:”选项的下拉菜单定义的,不需要在CMake选项中再次设置它。
总结:你的问题是XY-Problem的典型案例。您想要解决由CLion提供的错误消息所指示的问题。但是你没有问及这个并在你的问题中提供所需信息,而是"asking about your attempted solution rather than your actual problem."
我刚刚在你的答案帖子中找到了缺失的信息,而不是问题,它是否属于。因此,如果您可以将您的帖子合并为一个综合问题,那就太棒了。
这并不意味着粗鲁或冒犯。我只是想告诉你如何改进你的问题,以防止贬低或保持无法回答。