7
我想在項目中構建靜態和共享庫。創建靜態和共享C++庫
我知道共享庫需要用-fpic編譯的對象來創建,以獲得位置無關的代碼,而靜態庫不需要這個。這一切都很好,我可以創建一個共享或靜態庫。
我不想編譯我的源碼兩次以獲得不同的目標文件,那麼通常如何實現?我讀了how to get a shared library based on a static one。但是,該示例顯示了正在使用-fpic構建的靜態庫。這是要走的路嗎?有什麼東西要注意這個嗎?
是否有常用方法來編譯靜態庫和共享庫?例如。首先靜態並基於lib創建一個共享版本?
我很想知道是否有不同的方法和選擇時需要考慮的問題。
我在Linux上使用gcc4.4。
在此先感謝!
對於這種方法,如果想同時創建靜態庫和共享庫,那麼如何安排目標文件?類似於obj/static/...和obj/shared/...? – murrekatt 2011-02-01 14:44:48