[英]Linking to a static library with a makefile and g++
我想我的C ++可執行文件鏈接到兩個靜態( libStatic.a
)和共享( libShared.so
)庫,利用生成文件。
到目前為止,makefile具有以下內容:
myExe: main.cpp libStatic.a libShared.so
g++ main.cpp libStatic.a libShared.so
我相當確定靜態鏈接是正確的,因為我在其他地方也看到過類似的事情。 我不確定的是共享鏈接部分。 這個對嗎? 還是鏈接到靜態庫的方式有所不同?
如果我運行make,那么似乎可以,並創建可執行文件。 但是,當我執行此操作時,我會顯示該錯誤:
/usr/bin/ld: cannot find -lShared
但是,我的可執行文件和libShared.so
在同一目錄中。
在運行程序之前,需要將LD_LIBARY_PATH
設置為共享對象所在的目錄。
您可以在man ld
“ rpath”中進行閱讀以獲取其他可能性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.