为什么在 CMake 配置和生成完成后使用 CLion 构建 OpenCV 时会发生错误?
Why error occurs when using CLion build OpenCV after CMake configuration and generation done?
我发现在 Clion cmake 中总是添加 -G "CodeBlocks - Unix Makefiles"
参数。它使 camke 的生成在使用 cmake ../
时有所不同
如您所见,我没有在 CMake 选项中添加任何参数。但是 CLion 添加 -G "CodeBlocks - Unix Makefiles".
根据jetbrains。此功能将被修复,但不知道 when.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 中的联编文件生成器,也不必更改。
让我解释一下原因:
如果仔细阅读输出,您会在所有错误消息之前看到以下内容:
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/opencv/cmake-build-debug
说明CMake项目实际配置成功。此外,CLion 使用许多目标填充 Run/Debug 配置下拉列表。 CMake 配置很好,您可以编码、编译和 运行 一切。如果 CMake 失败了,情况就不会如此。
然而,在 CMake 完成后,CLion 想要执行一些额外的魔法(我不知道)。这就是所有错误消息的来源。
要摆脱它,您必须在 CMake 配置对话框中的 CMake 选项中添加以下标志:
-DENABLE_PRECOMPILED_HEADERS=OFF
.
顺便说一句:构建类型是通过"Build Type:"选项的下拉菜单定义的,不需要在CMake选项中再次设置。
总结:你的问题是XY-Problem. You want to solve the problem indicated by the error messages given by CLion. But instead of asking about this and providing the required information in your question, you were "asking about your attempted solution rather than your actual problem."
的典型案例
我只是在您的回答 post 中找到了缺失的信息,而不是问题,它属于什么。因此,如果您能将您的 post 合并为一个综合问题,那就太好了。
这绝不是粗鲁或无礼的意思。我只是想给你一个提示,告诉你如何改进你的问题,以防止被否决或一直无人回答。
我发现在 Clion cmake 中总是添加 -G "CodeBlocks - Unix Makefiles"
参数。它使 camke 的生成在使用 cmake ../
如您所见,我没有在 CMake 选项中添加任何参数。但是 CLion 添加 -G "CodeBlocks - Unix Makefiles".
根据jetbrains。此功能将被修复,但不知道 when.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 中的联编文件生成器,也不必更改。
让我解释一下原因:
如果仔细阅读输出,您会在所有错误消息之前看到以下内容:
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/opencv/cmake-build-debug
说明CMake项目实际配置成功。此外,CLion 使用许多目标填充 Run/Debug 配置下拉列表。 CMake 配置很好,您可以编码、编译和 运行 一切。如果 CMake 失败了,情况就不会如此。
然而,在 CMake 完成后,CLion 想要执行一些额外的魔法(我不知道)。这就是所有错误消息的来源。
要摆脱它,您必须在 CMake 配置对话框中的 CMake 选项中添加以下标志:
-DENABLE_PRECOMPILED_HEADERS=OFF
.
顺便说一句:构建类型是通过"Build Type:"选项的下拉菜单定义的,不需要在CMake选项中再次设置。
总结:你的问题是XY-Problem. You want to solve the problem indicated by the error messages given by CLion. But instead of asking about this and providing the required information in your question, you were "asking about your attempted solution rather than your actual problem."
的典型案例我只是在您的回答 post 中找到了缺失的信息,而不是问题,它属于什么。因此,如果您能将您的 post 合并为一个综合问题,那就太好了。
这绝不是粗鲁或无礼的意思。我只是想给你一个提示,告诉你如何改进你的问题,以防止被否决或一直无人回答。