【gcc, cmake, eigen, opencv,ubuntu】五.CMakeLists.txt编写

这篇具有很好参考价值的文章主要介绍了【gcc, cmake, eigen, opencv,ubuntu】五.CMakeLists.txt编写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CMakeLists.txt编写

1.CMakeLists.txt模板

一个使用opencv 的 CMakeLists.txt

# cmake最低版本要求
cmake_minimum_required(VERSION 3.0)
# 项目名称
project(trilinear_fast)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -march=native -fopenmp -msse -msse2 -msse3 -msse4 -mavx -O2 -DNDEBUG")
set(CMAKE_BUILD_TYPE Release)


#set(OpenCV_DIR /usr/local/lib/cmake/opencv4)
#set(OpenCV_INCLUDE_DIRS /usr/local/include/opencv4)

find_package(OpenCV REQUIRED)
include_directories(include ${OpenCV_INCLUDE_DIRS})

message(STATUS "project name = ${PROJECT_NAME}")
message(STATUS "OpenCV_LIBRARIES name = ${OpenCV_LIBRARIES}")

#添加静态库
file(GLOB_RECURSE SRC  ./src/*.cpp )
add_library(lut3d STATIC ${SRC})



add_executable(${PROJECT_NAME} main.cpp)
# include head file of static lib
target_include_directories(${PROJECT_NAME} PRIVATE ./src)
# 该可执行文件调用的静态库
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBRARIES} lut3d)

对应的目录:
【gcc, cmake, eigen, opencv,ubuntu】五.CMakeLists.txt编写

2.设置编程语言版本

set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 11)

3.设置编译类型Debug,Release

set(CMAKE_BUILD_TYPE Release)

4.设置获取文件列表

MATH_LIB_SRC 指示:找到的math目录下的 c文件

file(GLOB_RECURSE MATH_LIB_SRC  src/c/math/*.c)
add_library(math STATIC ${MATH_LIB_SRC})

5.添加include目录

表示在src/include/目录中寻找头文件
include_directories(src/include)

6.配置编译选项

add_compile_options命令添加的编译选项是针对所有编译器的(包括c和c++编译器)
CMAKE_C_FLAGS或CMAKE_CXX_FLAGS变量则是分别只针对c和c++编译器

add_compile_options(-Wall -Wextra -pedantic -Werror)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -std=c99")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -DNDEBUG")

以上基本覆盖了常用的一些CMAKE 指令, 后续用到再补充文章来源地址https://www.toymoban.com/news/detail-489166.html

到了这里,关于【gcc, cmake, eigen, opencv,ubuntu】五.CMakeLists.txt编写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ORB-SLAM3】CMake Error at CMakeLists.txt:37 (message): OpenCV > 2.4.3 not found.

    ZED2相机配置使用ORB-SLAM3,出现关于opencv的报错 CMake Error at CMakeLists.txt:37 (message): OpenCV 2.4.3 not found. 由于我的opencv是4版本的,而Cmakelist里面第33行找的是find_package(OpenCV 3.0 QUIET)也就是3版本的,所以找不到,因此而报错 将 find_package(OpenCV 3.0 QUIET) 改为 find_package(OpenCV 4.0 QUIET) 即可

    2024年02月07日
    浏览(36)
  • cmake中多级CMakeLists.txt调用

      在c/c++工程开发中,往往会涉及多级CMakeLists.txt的调用,并且调用方式错综复杂,主要有以下两种方式: 子目录中的CMakeLists.txt 独立生成目标 ,不作为主目标生成过程主的依赖存在,与主目标并无任何关系。 子目录中的CMakeLists.txt 作为主目标的依赖源文件 ,不单独生成

    2024年02月02日
    浏览(28)
  • vs项目转cmake(.sln转CMakeLists.txt)

    proj2cmake https://github.com/mrpi/proj2cmake 另附cmake镜像站:https://cmake.org/files/ 编译proj2cmake时报错: 可参考 https://www.cnblogs.com/tang-zhou-zhou/p/16067695.html 编译boost 使用vs2017的x64_x86交叉工具命令提示符进入解压后的boost文件夹运行bootstrap.bat toolset:编译器 msvc-17.0(vs2017)gcc(mingw) pre

    2024年02月09日
    浏览(38)
  • CMakeLists.txt编写简单介绍:CMakeLists.txt同时编译.cpp和.cu

    不想付费的同学可以参考本人知乎添加链接描述,关于CMakeLists.txt的相关介绍,这里不赘诉,本人的出发点是借助于CMakeLists.txt掌握基本的C++构建项目流程,下面是本人根据网络资料以及个人实践掌握的资料。 下图是一个使用CUDA实现hello world的项目,一般来说,一个标准的C

    2024年04月10日
    浏览(27)
  • 【CMake 入门与进阶(3)】 CMakeLists.txt 语法规则基础及部分常用指令(附使用代码)

            在上两篇中,笔者通过几个简单地示例向大家演示了 cmake 的使用方法,由此可知,cmake 的使用方法其实还是非常简单的,重点在于编写 CMakeLists.txt,CMakeLists.txt 的语法规则也简单,并没有 Makefile 的语法规则那么复杂难以理解!本文我们来学习CMakeLists.txt 的语法规

    2024年02月11日
    浏览(31)
  • CMake Error at CMakeLists.txt: (FIND_PACKAGE)找不到ncnn包的解决方法

    demo指路:https://github.com/EdVince/Stable-Diffusion-NCNN 在 Linux端 使用 cmake 编译文件时, 执行 cmake .. 命令,报错: 拉取 ncnn 的代码库(包括submodule)后没有 build and Install ,所以 cmake 时找不到对应的包,只需要让它找到对应的包即可,分为2步: 生成对应的cmake文件( ncnnConfig.cmake

    2024年02月11日
    浏览(121)
  • CMake Error at CMakeLists.txt:5 (find_package):By not providing “FindOpenCV.cmake“ in CMAKE_MODULE

    CMake Error at CMakeLists.txt:5 (find_package): By not providing \\\"FindOpenCV.cmake\\\" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by \\\"OpenCV\\\", but CMake did not find one.  CMake Error at CMakeLists.txt:5 (find_package): By not providing \\\"FindOpenCV.cmake\\\" in CMAKE_MODULE_PATH this project has asked CMake to

    2024年04月27日
    浏览(35)
  • CMake Error: The source directory “XXX“ does not appear to contain CMakeLists.txt

    正常CMakeLists.txt文件是在项目根目录下,而我们在项目的build文件夹中进行cmake,导致找不到文件,解决方法,命令行后加两个点表示上级目录,关键就是这两个点:

    2024年02月04日
    浏览(43)
  • CMake Error at CMakeLists.txt:1:Parse error.Expected a command name, got unquoted argument with text

    1.CMake升级       通过查阅CMake升级博客,个人觉得是这个问题概率较小,也可以找编译成功的人,通过下列命令查看版本号对比来判断是否与这有关。     如果没有多余空格仍然报错,可在终端使用vim打开文件检查是否有多余的代码。ubantu安装vim的命令如下: vim打开CMakeL

    2024年02月15日
    浏览(32)
  • 查看Eigen、CMake、ceres、opencv版本

    找到eigen本地目录下的Macros.h头文件查看对应的版本。 执行如下命令: sudo gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h 可以看到Eigen的版本 执行如下命令: cmake --version 即可看到cmake版本 在ceres解压文件夹内找到 package.xml 文件,打开即可查看ceres版本。 输入以下命令: opencv_vers

    2024年02月13日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包