簡體   English   中英

從現有目標文件制作共享庫

[英]Making a shared library from existing object files

我的IDE中有一個項目。 我需要創建一個共享庫以用於擴展。 我不想使用共享庫設置來復制此項目。 有什么方法可以使用我現有項目中的目標文件(.o)構建共享庫? 據我了解,我可以為此編寫一個makefile。

我假設您使用的是Unix,並且可能正在使用GNU工具鏈。 在這種情況下,要創建適當的共享庫,您需要先使用位置無關的代碼標志(-fpic或-fPIC)來編譯代碼,然后才能創建共享庫。 除非您的.o文件已經使用這些標志進行了編譯,否則您最終將不會獲得有效的共享庫。

如果已經針對位置無關代碼進行了編譯,則通常的g++ -shared ...應該可以解決問題。

g++ -shared -fPIC -o myshared.so *.o

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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