检查CMakeLists.txt文件:确保CMakeLists.txt文件中正确指定了X11的依赖项。可以使用find_package命令来查找X11包,并在需要时指定相关的头文件和库文件路径。 这样可以确保CMake在构建过程中正确地链接和使用X11包。 腾讯云提供了一系列与云计算相关的产品和服务,可以帮助开发者构建和部署各种应用。具体而言,腾讯云的云...
cmake_minimum_required(VERSION 3.5) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 11) project(Test) find_package(glfw3 REQUIRED) add_executable(${PROJECT_NAME} src/glad.c main.cpp) target_link_libraries(${PROJECT_NAME} glfw) main.cpp #include <glad/glad.h> #include <GLFW/glfw3.h...
gtk+-x11-2.0.pc gtk+-x11-3.0.pc 我们需要gtk3的库,因此, 你只需要在CMakeLists.txt需要库的语句前,添加 find_package(PkgConfig REQUIRED) pkg_check_modules(GTK3 REQUIRED gtk+-3.0) CMake会将查找到的库相关内容存储在相应的变量之中,我们只需要 include_directories(${GTK3_INCLUDE_DIRS})# 添加头...
CMake 的 find-package() 命令底层就是用的 find-modules 和 config-file 两种方式,CMake 优先使用 find-modules 的方式查找依赖,若失败则尝试使用 config-file 的方式;find-modules 首先从 CMAKE_MODULE_PATH 变量中存储的路径查找(默认为空),若我们想要查找自定义的 find-modules 则需要将查找的位置存进该变...
先前分析过find_package()原理,包括MODULE和CONFIG两种模式,每种模式各自的查找顺序也具体进行了解释。本篇以Protobuf为例,一步步确定cmake的find_package(Protobuf)是如何做到的。 实验基于Ubuntu 16.04系统,使用apt安装的libprotobuf-dev,并且系统里不存在其他版本的protobuf。
一、find_packge高级功能 1、find_package的模式 find_package()有Module模式(基本用法)和Config模式(完全用法),其中Module模式是基础,Config模式则提供复杂高级功能。 find_package是否使用Config模式可以通过下列条件判断: (1)find_package()中指定CONFIG关键字 ...
该命令用于查找库(动态库或者静态库),当构建依赖于第三方库/系统库,可以使用该命令来查找并使用库(Cmake中有另外一个命令 find_package ,能获取库的更多信息,具体可以参考 Cmake命令之find_package介绍 ) 通过一个例子来看下基本的使用,假设我们目录和文件树如下...
方式一:FIND_PACKAGE 通过FIND_PACKAGE的方式。 #添加OPENCV库 #指定OpenCV版本,代码如下 #find_package(OpenCV 3.3 REQUIRED) #如果不需要指定OpenCV版本,代码如下 find_package(OpenCV REQUIRED) #添加OpenCV头文件 include_directories(${OpenCV_INCLUDE_DIRS}) # 添加一个可执行程序 # 语法:add_executable( 程序名...
用来调用预定义在 CMAKE_MODULE_PATH 下的 Find<name>.cmake 模块,你也可以自己定义 Find<name>模块,通过 SET(CMAKE_MODULE_PATH dir)将其放入工程的某个目录中供工程使用,我们在后面的章节会详细介绍 FIND_PACKAGE 的使用方法和 Find 模块的编写。
而 xmake 则是「某个构建系统」。从构建系统的角度,xmake 无疑是比 cmake 更强大更好用的系统。