栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C/C++】cmake的使用教程

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C/C++】cmake的使用教程

cmake 主要是对 CMakeLists.txt 文件进行编写

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
set(CMAKE_CXX_STANDARD 11) 
set(CMAKE_CXX_STANDARD_REQUIRED True) 

PROJECT(HELLO) 


# 把当前目录下所有源代码文件和头文件加入列表变量 SRC_LIST
AUX_SOURCE_DIRECTORY(. SRC_LIST)
# 也可以使用set命令新建变量来存放需要的源文件建立列表变量
set( SRC_LIST
     ./main.c
     ./Func1.c
     ./Func2.c)

# 生成应用程序hello,调用列表变量
ADD_EXECUTABLE(hello ${SRC_LIST})

# 添加头文件的搜索路径
include_directories(
${PROJECT_SOURCE_DIR}/include/mq 
${PROJECT_SOURCE_DIR}/apps/incl 
${PROJECT_SOURCE_DIR}/include/rapidjson
)
# 将路径的源文件收集到列表变量
AUX_SOURCE_DIRECTORY (include include_path)
AUX_SOURCE_DIRECTORY (apps app_path)
ADD_EXECUTABLE(hello 
    src/main.c ${include_path} ${app_path})

# 设置路径 EXECUTABLE_OUTPUT_PATH 是目标二进制可执行文件的存放位置
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

# ADD_SUBDIRECTORY 命令,这个命令可以向当前工程添加存放源文件的子目录
ADD_SUBDIRECTORY(src)

# 有时只需要编译出动态库和静态库,然后等着让其它程序去使用,把生成的库文件存放到lib目录下
# 对 源文件变量 生成动态库 testFunc_shared
ADD_LIBRARY(testFunc_shared SHARED ${SRC_LIST})
# 对 源文件变量 生成静态库 testFunc_static
ADD_LIBRARY(testFunc_static STATIC ${SRC_LIST})
# 设置最终生成的库的名称
set_target_properties(testFunc_shared PROPERTIES OUTPUT_NAME "testFunc")
set_target_properties(testFunc_static PROPERTIES OUTPUT_NAME "testFunc")
# 设置库文件的输出路径
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

# 在指定路径下查找库,并把库的绝对路径存放到变量里
find_library(TESTFUNC_LIB testFunc HINTS ${PROJECT_SOURCE_DIR}/testFunc/lib)
# 把目标文件与库文件进行链接
target_link_libraries(hello ${TESTFUNC_LIB})

# 设置编译选项(配置编译器)
set(CMAKE_C_FLAGS "-Wall -Werror -Wstrict-prototypes -Wmissing-prototypes")

参考内容:
点击这里跳转
https://www.cnblogs.com/LXP-Never/p/15264243.html#blogTitle3

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号