
message("${CMAKE_VAR}")
<package>为包的名字,必填
[version] 为版本号,如3.5.1,可以不填.
[EXACT] 选填, 当使能时, 要求找到的库版本号和要求的完全一致才算找到.
[QUIET] 和 [REQUIRED] 填一个就行, 使能 [QUIET] 时, 就算找不到库, cmake也不会报错会继续执行使能 [REQUIRED] 时要求必须找到库, 找不到时会报错退出.
COMPONENTS,components :可选字段,表示查找的包中必须要找到的组件( components ),如果有任何一个找不到就算失败,类似于 REQUIRED ,导致CMake停止执行。
CONIFG 选项使能时, 使用Config模式找包
MODULE 选项使能时, 使用Module模式找包.
当没有指明具体用哪种模式时, find_package 会先使用 Module Mode 找包, 如果找不到再使用 Config Mode 寻找
find_package(OpenCV PATH /home/username/opencv3.4.5/build)
指定 package 版本
find_package(OpenCV 3) #OpenCV版本不低于3
find_package(OpenCV 3.4.5) #OpenCV版本不低于3.4.5
find_package(OpenCV 3.4.5 EXACT) #OpenCV版本必须以等于3.4.5
指定 package 路径
不设置编译优化,cmakelist.txt最后一行
add_definitions(-O0)
该命令用于查找库(动态库或者静态库),当构建依赖于第三方库/系统库,可以使用该命令来查找并使用库(Cmake中有另外一个命令 find_package ,能获取库的更多信息,具体可以参考 Cmake命令之find_package介绍 )
通过一个例子来看下基本的使用,假设我们目录和文件树如下,:
我们在 mylib 中生成最终的库 libmymath.a ,然后在顶层的 CMakeLists.txt 中查找这个库文件,几个文件的具体内容如下:
在 ./mylib/ 下执行 cmake . 和 make 以便生成库 libmymath.a ,然后在 ./ 目录下执行 cmake . 和 make ,得到可执行文件 test ,运行 test 的结果为:
库的搜索路径分为两大类: 默认搜索路径 和 附加搜索路径 。
默认搜索 路径包含 cmake 定义的以 CMAKE 开头的一些变量(例如 CMAKE_LIBRARY_ARCHITECTURE 、 CMAKE_PREFIX_PATH 、 CMAKE_LIBRARY_PATH 、 CMAKE_FRAMEWORK_PATH )、标准的系统环境变量(例如系统环境变量 LIB 和 PATH 定义的路径)、系统的默认的库安装路径(例如 /usr 、 /usr/lib 等);
附加搜索路径 即 find_library 命令中通过 HINTS 或 PATHS 指定的路径;
1) 通过命令行使用 -D 指定的 CMAKE_XXX_PATH 变量,也就是形如 cmake . -DCMAKE_XXX_PATH=paths 的格式。其中 CMAKE_XXX_PATH 包含如下几个:
CMAKE_PREFIX_PATH :指定搜索目录的前缀,如果前缀有多个,需要以 分号分割的列表 方式提供,该变量默认为空,一旦该变量非空,那么会搜索该变量提供的目录,以及 ${CMAKE_PREFIX_PATH}/lib 例如 CMAKE_PREFIX_PATH=AB ,那么 find_library 会从 A 、 B 以及 A/lib 、 B/lib 中搜索库是否存在;
CMAKE_LIBRARY_ARCHITECTURE :如果该变量被设置,那么会搜索目录 ${CMAKE_PREFIX_PATH}/lib/${CMAKE_LIBRARY_ARCHITECTURE}
CMAKE_LIBRARY_PATH :指定 find_library 的库查找目录,默认值为空,多个值时需要以分号分割列表指定;
CMAKE_FRAMEWORK_PATH *:指定 macOS 的框架作为搜索路径。
2) 通过在 环境变量 中指定 CMAKE_XXX_PATH 变量,例如在 window 的环境变量中增加 CMAKE_XXX_PATH (以 分割多个路径)、 Linux 中 shell 配置文件中添加(以 : 分割多个路径)。用法和 cmake -D 指定类似,例如在我的机器中( macOS ),在 .zshrc (我的命令行配置文件)中增加 export CMAKE_LIBRARY_PATH="/XXX/……/mylib" ,即可在将该目录加入到搜索路径中。
3) HINTS 选项指定的路径。
4) 系统环境变量指定的目录,默认是 LIB 和 PATH 指定的路径。例如在 PATH 中指定库搜索目录;
也可以通过 find_library 中的 PATHS ENV 环境变量名称 ( cmake 中使用环境变量名称的格式为 $ENV{环境变量名称} )来指定从哪个环境变量名称中获取路径,例如定义一个 TESTPATH 环境变量并赋值为 ./mylib ,并在 find_library 命令中指定使用该环境变量:
5)跟当前系统相关的平台文件路径,一般来说指的是当前系统安装软件的标准目录,不同的 *** 作系统对应的路径有所不同。 camke 中 find_library 与此相关的也有如下几个, CMAKE_SYSTEM_XXX_PATH 变量,这些:
CMAKE_SYSTEM_PREFIX_PATH :指定安装目录的前缀,例如在 Windows 下的 /XXXX/Program Files , Linux 下的 /usr 或 /usr/local 等。 find_library 命令会搜索这些前缀目录,也会以这些目录加上 lib 进行搜索,例如搜索 /usr/local/lib ;
CMAKE_SYSTEM_LIBRARY_PATH :默认是当前系统的标准目录,不建议修改它;例如在我的系统,这个变量的值是 /usr/lib/X11 ;
CMAKE_SYSTEM_FRAMEWORK_PATH : macOS 框架路径,默认是当前系统的标准目录,不建议修改它;例如在我的系统,这个变量的值包含了路径 /Library/Frameworks ;
6) PATHS 选项指定的路径。
配置好了Ubuntu下的c++环境,gcc以及g++可用。2.使用eclipse for c+做OpenGL开发 步骤一:在ubuntu终端下运行以下命令,安装opengl所需要的库文件$ sudo apt-get
第二步, 运行驱动程序,切换到“硬件检测”选项卡,就可以查看本机电脑显卡驱动程序的版本以及具体显卡型号啦;
第三步,通过切换到“驱动程序”选项卡,选择最新版本的显卡驱动进行安装。
除显卡驱动版本较低外,显卡硬件较差也有可能导致无法正常运行,模拟器电脑显卡配置要求情况如下,对此只得升级显卡硬件或购买新的高性能显卡硬件设备来运行模拟器。
第二种:
第一步,右键点击我的电脑(win10用户则是此电脑)—管理,
第二步,在d出来的计算机管理窗口里面找到设备管理器-显示适配器;
第三步,打开显示适配器之后,右键点击对应的显卡,然后点击更新驱动程序;
第四步,在点击更新驱动程序之后,会d出如下窗口,点击找到搜索驱动程序进行更新即可。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)