[英]shared library under ubuntu
我已經使用make在ubuntu下編譯了srp-2.1.2,它創建了一個libsrp.a文件。 誰能告訴我如何使用libsrp.a作為共享庫?。我想通過dllimport在ubuntu下的ac#文件中使用libsrp。請告訴我libsrp.a文件的含義是什么。
謝謝
好的,當我使用nm -D libsrp.a時,我有
c2 @ ubuntu:〜/ Desktop / srp-2.1.2 / libsrp $ nm -D libsrp.a
t_client.o:nm:t_client.o:無符號
請告訴我我將如何獲得所有符號。
謝謝
libsrp.a
文件是靜態庫; 一個共享庫將被稱為libsrp.so
類的libsrp.so
。 這里有一個答案,描述了一種從靜態庫構建共享庫的方法(盡管我自己從未做過,所以不能保證它會起作用-祝您好運!)
更新:
在-D
參數中使用nm
要求輸入動態符號(檢出man nm
)-在我鏈接到的那個人的問題中,他正在使用-D
因為他正在共享庫中調用nm
。 您的libsrp.a
是一個靜態庫,因此要查看符號,您應該這樣做
nm libsrp.a
但是,我認為您不需要查看符號就可以使用解釋如何獲取共享庫的答案。 如果答案是正確的,則只需使用正確的參數調用gcc
。 我想一旦有了共享庫,就可以使用nm
來查看它是否具有您期望的符號。 在這種情況下,您將需要-D
參數:
nm -D libsrp.so
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.