【问题标题】:How to use method in shared library如何使用共享库中的方法
【发布时间】:2015-01-24 10:39:12
【问题描述】:

我已经成功地配置、编译和安装了一些 C 源代码到一台 Linux 机器中。

现在我知道我的图书馆(比如mylib.so)在/usr/local/bin 上可用

我想编写一个包含 main 的 C 程序,它将访问 mylib.so 中返回其中定义的结构的方法之一。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • @ChrisMaes 它展示了如何使用返回void 的方法来做到这一点。我的方法返回一个也在库中定义的结构。我不明白的另一件事是我如何知道头文件是否已将我要调用的方法定义为extern

标签: c gcc shared-libraries


【解决方案1】:

这样的事情应该会给你结果:

gcc -o prog prog.o -L/usr/local/bin -mylib

【讨论】:

  • 你错过了 /usr/local/bin $ gcc -o myprog myprog.c -L/home/newhall/lib -lmine 前面的-L
  • 我的事情应该是:gcc ${CCParms} -c prog.c -o prog.o -I。 -Ipathtolibheaderfile 然后 gcc ({LNparms} prog.o -o prog -L/usr/local/bin -lmy
  • 绝对需要-L,我在编辑帖子时删除了它。感谢您指出。
猜你喜欢
  • 1970-01-01
  • 2015-09-30
  • 2020-11-18
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多