cmake下cmake_c_flags,add_definitions


cmake_c_flags用來設置編譯選項 如 -g -wall(不展示警告)

add_definitions

添加編譯參數,比如add_definitions(-DDEBUG)將在gcc命令行添加DEBUG宏定義

 

ADD_LIBRARY (hello SHARED ${LIBHELLO_SRC})

# 添加靜態庫,關鍵詞為static,

# ADD_LIBRARY (hello STATIC ${LIBHELLO_SRC})

# 仍然用hello作為target名時,是不能成功創建所需的靜態庫的,

# 因為hello作為一個target是不能重名的, 故把上面的hello修改為hello_static

# 同理,你不需要寫全libhello_static.a

# 只需要填寫hello即可,cmake系統會自動為你生成 libhello_static.X

ADD_LIBRARY (hello_static STATIC ${LIBHELLO_SRC})

 

# 按照一般的習慣,靜態庫名字跟動態庫名字應該是一致的,只是擴展名不同;

# 即:靜態庫名為 libhello.a; 動態庫名為libhello.so ;

# 所以,希望 "hello_static" 在輸出時,不是"hello_static",而是以"hello"的名字顯示,故設置如下:

SET_TARGET_PROPERTIES (hello_static PROPERTIES OUTPUT_NAME "hello")

 

GET_TARGET_PROPERTY (OUTPUT_VALUE hello_static OUTPUT_NAME)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM