我在Clion cmake中发现总是添加-G "CodeBlocks - Unix Makefiles"
参数。使用cmake ../
如您所见,我没有在CMake选项中添加任何参数。但是CLion添加了-G“ CodeBlocks-Unix Makefiles”。
根据jetbrains。此功能将得到修复,但不知道何时。CLionCMake的默认生成器是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
答案 0 :(得分:0)
要回答您的问题:您不必在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
。
顺便说一句:构建类型是通过“构建类型:”选项的下拉菜单定义的,无需在CMake选项中再次进行设置。
总结:您的问题是XY-Problem的典型情况。您想解决CLion给出的错误消息所指示的问题。但是,您不是"asking about your attempted solution rather than your actual problem."
,而是对此进行询问并在您的问题中提供了必需的信息。我只是在您的答案帖中找到了缺失的信息,而不是问题所在的信息。因此,如果您可以将自己的帖子合并成一个全面的问题,那就太好了。
这绝不意味着粗鲁或冒犯。我只想给您一个提示,告诉您如何改进问题以防止投票不足或保持未回答状态。