最近用cmake組織了一個打包iOS Framework的工程,但發(fā)現(xiàn)沒有導(dǎo)出頭文件支鸡,只編出了一個靜態(tài)庫冬念。再三確定了我添加了PUBLIC_HEADER屬性,制定的文件路徑也是存在的牧挣。
set_target_properties(mylib PROPERTIES
...
PUBLIC_HEADER "xxx.h;yyy.h"
...
)
最終試錯發(fā)現(xiàn):
- 需要導(dǎo)出的頭文件必須跟源文件一起追加到工程里并且務(wù)必確保路徑是對的急前,否則framework里面不導(dǎo)出Headers,例如
add_library (mylib STATIC ${SOURCES} ${HEADERS})
再用上面的set_target_properties
制定PUBLIC_HEADER就一切回歸正常了
ps: 我自己還犯了另一個錯誤瀑构,頭文件包進(jìn)去了裆针,但有個目錄大小寫沒注意就算PUBLIC_HEADER里面路徑寫對還是不行。無意間發(fā)現(xiàn)文件夾名字大小寫沒對上检碗,改正了之后頭文件就導(dǎo)出來了据块。