cmake之 ADD_LIBRARY()
生活随笔
收集整理的這篇文章主要介紹了
cmake之 ADD_LIBRARY()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇我分析了如何調用別人的第三方庫,現在我繼續分析如何構建一個庫供他人使用。完成這個任務需要用到ADD_LIBRARY()
1:ADD_LIBRARY()語法
add_library(<name> [STATIC | SHARED | MODULE][EXCLUDE_FROM_ALL]source1 [source2 ...]):庫的名字,直接寫名字即可,不要寫lib,會自動加上前綴的哈。
[STATIC | SHARED | MODULE] :類型有三種。
SHARED,動態庫STATIC,靜態庫MODULE,在使用 dyld 的系統有效,如果不支持 dyld,則被當作 SHARED 對待。EXCLUDE_FROM_ALL:這個庫不會被默認構建,除非有其他的組件依賴或者手
2:使用
SET(LIBHELLO_SRC hello.c) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC})3:注意,一般我們使用的靜態庫/動態庫只是后綴名不同而已,上面構建的libhello.so與libhello_static.a,顯然名字不同哦。這時你會有一個想法,那我把hello_static改成hello,結果是不可行的,靜態庫無法構建。重名會忽略第二條指令。
SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello")4:關于動態庫的版本號
#VERSION 指代動態庫版本,SOVERSION 指代 API 版本。 SET_TARGET_PROPERTIES(hello PROPERTIES VERSION 1.2 SOVERSION 1)link
總結
以上是生活随笔為你收集整理的cmake之 ADD_LIBRARY()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CMake的几种Include
- 下一篇: OpenCV-Python Featur