好吧,假設我已經構建了一些名爲libImmortal.a
和libUglyFace.so
的庫。第一個是~/LakeOfBlood/lib
,第二個是安裝槽make install
,在/usr/lib
。在獎金我做ldconfig
如何正確鏈接libs(.so y .a)與cmake
現在在~/LakeOfBlood
我想編輯CMakeList.txt
。我想補充庫:
project (LOB)
.
.
.
# (the binary will be built in ~/LakeOfBlood)
link_directories(${LOB_BINARY_DIR}/lib)
.
.
.
target_link_libraries(LakeOfBlood UglyFace Immortal)
,但是當我compil ld
無法找到改變Immortal
我還可以鏈接:
target_link_libraries(LakeOfBlood UglyFace Immortal)
通過
target_link_libraries(LakeOfBlood UglyFace /home/OftheBeast/LakeOfBlood/Immortal.a)
然後ld
作品。
...對接,是有AF * * * * * * 「而是」 ......
當我開始LakeOfBlood,我得到:
./LakeOfBlood: error while loading shared libraries: libUglyFace.so: cannot open shared object file: No such file or directory
兩個庫AREN我的,他們帶着一個叫做OccultGod
的樣本。如果我做ldd OccultGod
我:
libUglyFace.so => /home/OfTheBeast/LakeOfBlood/lib/libUglyFace.so (0x0000666)
所以現在,
- 我怎麼能到
OccultGod
說使用/usr/lib/libUglyFace.so
,而不是上面的人嗎? (谷自己CMakeList.txt
) - 我怎麼能解決我的
CMakeList.txt
爲libImmortal.a
- 你能向我解釋爲什麼
LakeOfBlood
看不到/usr/lib/libUglyFace.so
。我的意思是/usr/lib
是標準路徑嗎?那麼我想每個庫在那裏,會被任何二進制自動找到...