0

我在 ubuntu 下使用 make 编译了 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:无符号

请告诉我如何获得所有符号。

谢谢

4

1 回答 1

0

libsrp.a文件是一个静态库;共享库将被称为类似libsrp.so. 这里有一个答案,描述了一种从静态库构建共享库的方法(虽然我自己从来没有这样做过,所以不能保证它有效 - 祝你好运!)

更新:

使用nmwith-D参数要求动态符号(签出man nm) - 在我链接到该人的问题中,-D他正在nm使用共享库。你libsrp.a是一个静态库,所以要查看你应该做的符号

nm libsrp.a

但是,我认为您不需要查看符号来使用解释如何获取共享库的答案;如果答案是正确的,您应该只需要gcc使用正确的参数进行调用。我想一旦您获得了共享库,您就可以使用nm它来查看它是否具有您期望的符号;在这种情况下,您需要-D参数:

nm -D libsrp.so
于 2010-04-14T11:22:27.517 回答