我正在嘗試構建一個應用程序,其中有兩個不同的系統彼此交互,其中大多數功能都很常見。所以我正在計劃一個像這樣的目錄結構。系統的Makefile文件
Xxx
|_sys1
|
|_sys2
|
|_common
每個都有一個單獨的include和src目錄。
從小小的瀏覽中瞭解到,保持編號爲libcmn.so
的常見編碼效率很高,可以鏈接編譯xxx
和yyy
。
雖然我知道如何創建一個.so
,但在帶有變量和鏈接頭文件的makefile中使用它們對我來說是新的。
有人可以指導我如何爲每個Makefile應該如何鏈接應該做一個正確的構建?
您最好使用靜態庫而不是共享庫('.a'擴展名),避免修改'LD_PRELOAD'或'LD_LIBRARY_PATH'。 – Chnossos
@Chnossos如果他把這些庫放在一個已知的位置(比如'/ usr/local/lib'),或者他將'-rpath'傳遞給鏈接器,他不一定要改變它們(假設'ld'在Linux上)。我寧願堅持動態庫,除非真的有一個強有力的理由去採用靜態方法。 –