使用 CMake 编译 openCV:设置架构和优化标志

Posted

技术标签:

【中文标题】使用 CMake 编译 openCV:设置架构和优化标志【英文标题】:Compile openCV with CMake: set architecture and optimization flags 【发布时间】:2012-03-27 10:09:20 【问题描述】:

我需要为 i486 架构编译 OpenCV。我想将优化标志设置为 O3。问题是找不到在 cmake 文件或配置脚本中设置编译器标志的方法。

【问题讨论】:

【参考方案1】:

CMake 允许您根据配置设置编译器标志。默认情况下,如果您选择 Release 配置,则可能会启用优化标志。如果您想自己打开它们,请使用:

set(CMAKE_C_FLAGS_RELEASE "-O3")

并选择发布配置(您也可以使用缓存或 GUI 执行此操作):

set(CMAKE_BUILD_TYPE Release)

相关文档:

CMAKE_C_FLAGS_RELEASE CMAKE_BUILD_TYPE

注意:如果您使用 C++,请将 C 替换为 CXX

【讨论】:

【参考方案2】:

我相信您可以在运行cmake 之前将CFLAGSCXXFLAGS 设置为环境变量。或者,看看在相关的 CMakeLists.txt 文件中使用CMAKE_C_FLAGS。

希望有帮助!

【讨论】:

【参考方案3】:
./opencv/cmake/OpenCVCompilerOptions.cmake

第 29 行:

set(OPENCV_EXTRA_FLAGS_RELEASE "-O3")

请注意顶部的覆盖。

【讨论】:

以上是关于使用 CMake 编译 openCV:设置架构和优化标志的主要内容,如果未能解决你的问题,请参考以下文章

opencv+Qt+cmake安装配置

CMake编译OpenCV

opencv第二课,使用cmake编译OpenCV,并添加opencv_contrib模块

CMake 在编译使用 OpenCV 的项目时遇到问题

如何用 cmake 编译 OpenCV?

使用 CMake 构建 OpenCV 问题