CMake 学习笔记 —— 进阶
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
HelloWorld
HelloWorld ---> CMakeLists.txt
project(Hello)
add_subdirectory(src bin)
src ---> CMakeLists.txt
add_executable(hello main.c)
add_subdirectory用法:
add_subdirectory(source_dir [binary_dir] [exclude_from_all])
srouce_dir 源文件子目錄
binary_dir 中間二進(jìn)制和目標(biāo)二進(jìn)制存放位置
exclude_from_all 將這個(gè)目錄從編譯過(guò)程中排除
set(executable_output_path ${project_binary_dir}/bin)
set(library_output_path ${project_binary_dir}/lib)
構(gòu)建動(dòng)態(tài)庫(kù)
add_library(libname [SHARED | STATIC | MODULE] [EXCLUDE_FROM_ALL] ? source1 source2 ... sourceN)
不需要寫(xiě)全libhello.so ,只需要填寫(xiě)hello即可,cmake系統(tǒng)會(huì)自動(dòng)生成libhello.x
類型有三種:
SHARED 動(dòng)態(tài)庫(kù)
STATIC 靜態(tài)庫(kù)
module 在使用dyld的系統(tǒng)有效,如果不支持dyld,則當(dāng)作shared對(duì)待
導(dǎo)入頭文件
include_directories(/usr/include/hello)
添加共享庫(kù)
link_directories ?添加非標(biāo)準(zhǔn)庫(kù)搜索路徑?
target_link_libraries 添加需要連接的共享庫(kù)
例如:
target_link_libraries(main libhello.so)
target_link_libraries(main libhello.a)
轉(zhuǎn)載于:https://my.oschina.net/fonddream/blog/505341
總結(jié)
以上是生活随笔為你收集整理的CMake 学习笔记 —— 进阶的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关闭IPV6 备忘
- 下一篇: 正则表达式在js和java中的使用