2024年工作笔记
- CMake相关
1.1 CMake 从基础到高级技巧
# 根据操作系统类型安装不同的文件
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
install(FILES "linux_specific_file.conf" DESTINATION etc)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
install(FILES "windows_specific_file.conf" DESTINATION etc)
endif()
# 根据构建类型安装不同的库文件
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
install(FILES "libMyLibrary_d.so" DESTINATION lib)
else()
install(FILES "libMyLibrary.so" DESTINATION lib)
endif()
1.2 Cmake使用教程
变量名 | 含义 |
---|---|
CMAKE_SOURCE_DIR | 最顶层CmakeLists.txt所在目录,CHAN |
CMAKE_CURRENT_SOURCE_DIR | 当前CMakeLists.txt 所在路径 |
PROJECT_SOURCE_DIR | 工程的根目录 |
CMAKE_ARCHIVE_OUTPUT_DIRECTORY | 静态库的输出目录 |
CMAKE_LIBRARY_OUTPUT_DIRECTORY | 动态库的输出目录 |
CMAKE_RUNTIME_OUTPUT_DIRECTORY | 可执行文件的输出路径 |
cmake_minimum_required (VERSION 3.5)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
project (Test)
# 设置头文件目录
include_directories(${PROJECT_SOURCE_DIR}/inc INC_DIR)
# 设置源文件目录
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC_DIR)
# 添加可执行文件
add_executable(helloworld hello.cpp)
# 链接库
target_link_libraries(helloworld ${CMAKE_SOURCE_DIR}/add.a)
1.3 讲的非常详细赞一个 CMake 保姆级教程(上)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY