分多個(gè)cmake配置源碼工程時(shí)侨嘀,通過include引入其他的cmakeLists.txt時(shí),遇到該問題:
百度了之后捂襟,該錯(cuò)誤表示是CMake無法確定目標(biāo)的鏈接器語言咬腕,很多解決的辦法是設(shè)置強(qiáng)制使用C++語法鏈接
set_target_properties(Engine PROPERTIES LINKER_LANGUAGE CXX)
我確實(shí)也嘗試設(shè)置了錯(cuò)誤就不在了,但是實(shí)際源文件并沒有打包到SO庫葬荷,再經(jīng)過多次查找發(fā)現(xiàn)最根本的原因:實(shí)際是因?yàn)楫?dāng)需要分開配置Cmake時(shí)(多個(gè)CmakeLists.txt)在里層被引入的CmakeLists.txt不能再使用PROJECT_SOURCE_DIR涨共,或者CMAKE_CURRENT_SOURCE_DIR 去設(shè)置查找當(dāng)前的源文件,因?yàn)闀?huì)被外層的c外層include引入的cmakeLists.txt