簡體   English   中英

使用makefile和g ++鏈接到靜態庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM