首页
学习
活动
专区
圈层
工具
发布

cmake:使用find_package查找libjpeg的静态库

https://blog.csdn.net/10km/article/details/82931978 我们知道简单的使用命令find_package可以查找指定的package....对于经常会用到的 jpeg库turbojpeg,可以用find_package(JPEG REQUIRED)来查找。...默认查找到的是动态库,所以如果想查找libjpeg的静态库,这样是不行的。...其实FindJPEG.cmake脚本在设计时已经考虑到了这个问题,如下是FindJPEG.cmake脚本的代码片段,可以看到调用者可以通过JPEG_NAMES这个变量指定优先查找到的库名字。...所以如果想要指定优先使用静态库,前面的cmake脚本可以稍改一下,如下,就是在调用find_package之前设置JPEG_NAMES为想要的静态库名: # 查找libjpeg库,优先使用静态库 if(

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    cmake学习

    cmake使用方法: mkdir build cd build cmake path #path 指CMakeLists.txt所在位置 make ....单个cpp文件cmake思路 cpp文件,直接生成可执行文件。 add_executable()函数的第一个参数是要生成的可执行文件的名称,第二个参数是要编译的源文件的列表。...src/main.cpp ) #在SOURCES变量中设置特定文件名的另一种方法是使用GLOB命令使用通配符模式匹配来查找文件。...#生成可执行文件 add_executable(hello_headers ${SOURCES}) 当有其他包含文件夹时(头文件文件夹),可以使用target_include_directories()...()函数 PUBLIC参数 https://zhuanlan.zhihu.com/p/82244559 问题2: 静态库与头文件的关系 将源文件编译成为静态库之后, 静态库文件相当于将函数接口留在了头文件

    2.4K90

    CC++生态工具链——编译构建工具CMakeCMakeList初探

    三,CMakeLists.txt语法 cmake的语法由函数名和参数构成,参数区分大小写,函数名不区分大小写(这个依据个人喜好,笔者习惯用小写,大写有点费眼睛+_+)。...使用样例: link_directories(${SOURCE_DIR}/lib) ---- (9) aux_source_directory 含义:查找指定目录中的所有源文件,将结果存进指定变量名 语法...使用样例: configure_file(CMakeLists.txt.in download/CMakeLists.txt) ---- (17) find_package 含义:查找依赖的包名 语法:...使用样例: find_package(OpenSSL REQUIRED) ---- (18) find_library 含义:查找依赖的库 语法: find_library ( name1 [...,需要使用的目录 语法: target_include_directories( [SYSTEM] [AFTER|BEFORE]

    3.9K21

    CMake基础

    flag 规则,为 g++ 准备的参数可能对 MSVC 不适用 CMake 可以自动检测当前的编译器,需要添加哪些 flag。...比如 OpenMP,只需要在 CMakeLists.txt 中指明 target_link_libraries(a.out OpenMP::OpenMP_CXX) 即可 五、CMake的使用 1.CMake...链接库文件查找位置顺序: Windows:可执行文件同目录,其次是环境变量%PATH% Linux:ELF格式可执行文件的RPATH,其次是/usr/lib等 3.CMake生成静态库和动态库 CMake.../TBB/TBBConfig.cmake)能够自动查找所有依赖,并利用刚刚提到的 PUBLIC PRIVATE 正确处理依赖项,比如如果你引用了 OpenVDB::openvdb 那么 TBB::tbb...因此可以用跨平台的 vcpkg:https://github.com/microsoft/vcpkg /usr/lib/cmake/TBB/TBBConfig.cmake)能够自动查找所有依赖,并利用刚刚提到的

    3K20

    学C++从CMake学起

    不同的编译器有不同的 flag 规则,为 g++ 准备的参数可能对 MSVC 不适用。 构建系统的构建系统 「CMake」 为了解决 make 的以上问题,跨平台的 CMake 应运而生!...CMake的命令行调用 读取当前目录的 CMakeLists.txt,并在 build 文件夹下生成 build/Makefile cmake -B build 让make读取build/Makefile...因为需要知道函数的参数和返回值类型:这样才能支持重载、隐式类型转换等特性。例如:show(3),如果声明了 void show(float x),那么编译器知道把3转换成3.0f才能调用。...要在根目录使用他,可以用 CMake 的 add_subdirectory 添加子目录,子目录也包含一个CMakeLists.txt,其中定义的库在 add_subdirectory 之后就可以在外面使用.../TBB/TBBConfig.cmake)能够自动查找所有依赖,并利用刚刚提到的 PUBLIC PRIVATE 正确处理依赖项,比如如果你引用了 OpenVDB::openvdb 那么 TBB::tbb

    21110

    云课五分钟-03第一个开源游戏复现-贪吃蛇

    进入源代码目录,查找是否有编译脚本(如Makefile或CMakeLists.txt)。如果有,您可以使用相应的构建工具(如make或cmake)进行编译。...find_package 函数调用 这些行用于查找和加载所需的SDL2库和相关的库(如SDL2_image、SDL2_net、SDL2_mixer和SDL2_ttf)。...target_include_directories 函数调用 这些行用于向目标添加头文件目录,以便编译器能够找到必要的头文件。...然后,通过在命令行参数中指定IP地址来连接对方。例如: ....具体的多人模式参数和选项可能会根据游戏而有所不同,请参考游戏的文档或说明进行配置。 这些步骤提供了在Ubuntu环境下安装和使用“DungeonRush”游戏的一般流程。

    90430
    领券