2010-04-14 75 views
0

我在ubuntu下使用make編譯了srp-2.1.2,它創建了一個文件libsrp.a。任何人都可以告訴我如何使用libsrp.a作爲共享庫?.i我想通過使用dllimport.please在ubuntu下的c#文件中使用libsrp告訴我libsrp.a文件的含義。在ubuntu下的共享庫

感謝

確定,當我使用納米-D libsrp.a 後來我就

C2 @ Ubuntu的:〜/桌面/ SRP-2.1.2/libsrp $納米-D libsrp.a

t_client.o: 納米:t_client.o:無符號

請告訴我,我怎麼會得到所有的符號。

感謝

回答

0

libsrp.a文件是一個靜態庫;共享庫將被稱爲類似libsrp.soHere有一個描述的方式來建立從靜態庫的共享庫的答案(我從未想過這樣做我自己,所以不能保證,它的作品 - 祝你好運!)

UPDATE:

使用nm-D參數請求動態符號(看看man nm) - 在我聯繫到的人的問題是使用-D,因爲他在共享庫調用nm。你libsrp.a是一個靜態庫,所以看到這些符號,你應該只是做

nm libsrp.a 

不過,我不認爲你應該需要看到的符號來使用的答案解釋如何得到一個共享庫;如果答案是正確的,你只需要用正確的參數調用gcc。我想,一旦你有共享庫,你可以使用nm來看看它是否有你期望的符號;在這種情況下你需要-D參數:

nm -D libsrp.so