通过makefile文件建立的.so文件 怎么能够添加头文件就可以对其api直接调用,就想bionic中的glibc一样,谢谢

幸福的小金火 2014-09-03 09:34:18
通过makefile文件建立的.so文件, 怎么配置才能够,直接添加头文件就可以对其api直接调用,就想bionic中的glibc一样,谢谢
我现在生成了.so文件缺不知道如何进行调用,请指教
...全文
525 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozhen2004 2014-09-25
  • 打赏
  • 举报
回复
$ gcc text.c -L/out/target/product/sld8/symbols/system/lib -lhelloworld -o text
常书 2014-09-25
  • 打赏
  • 举报
回复
其实大家已经说得很明白了,举个例子给你参考吧 在/home/usr/test下,创建so_test.c与so_test.h,编译生成mytest.so 将so_test.h拷贝到/usr/include/目录 方法1: 将mytest.so拷贝到/lib/i386-linux-gnu/目录 方法2:修改vi /etc/ld.so.conf,添加inxlude /home/usr/test,执行ldconfg /home/usr/test 以上操作过后,其它应用程序可以 inluce <so_test.h> 比如main_test.c调用了mytest.so库的函数,编译时,使用如下语句 gcc main_test.c -L. lmytest.so -o ap_main_test
幸福的小金火 2014-09-10
  • 打赏
  • 举报
回复
9楼 我是想把so文件加入底层c库 就像stdio.h那样 直接<>就能调用 请问应该怎么做 有什么思路么
zhxianbin 2014-09-09
  • 打赏
  • 举报
回复
看 gcc 的 -I (i 的 大写) -l(L的小写) -L 选项的作用
幸福的小金火 2014-09-09
  • 打赏
  • 举报
回复
来人呀 求组 怎么把编写玩得so文件,加入标准头文件里面
nfme 2014-09-04
  • 打赏
  • 举报
回复
可以把头文件安装在标准的目录(eg, /usr/local/include, /usr/inclue ,and so on),库文件也类似,也可以直接用gcc -I参数指定头文件路径。
幸福的小金火 2014-09-04
  • 打赏
  • 举报
回复
到底怎样才能吧生成的。so文件编程底层库那样,直接<>就能调用,都来帮忙呀
幸福的小金火 2014-09-04
  • 打赏
  • 举报
回复
编译链接的话 也不知道/user/bin在哪呀 我的so文件生成后是out/target/product/sld8/symbols/system/lib/libhelloworld.so 运行$ gcc text.c -L. -lhelloworld -o text后报错 /usr/bin/ld: skipping incompatible ./libhelloworld.so when searching for -lhelloworld /usr/bin/ld: cannot find -lhelloworld collect2: ld returned 1 exit status
幸福的小金火 2014-09-03
  • 打赏
  • 举报
回复
我是想使用so的api ,但是我include后报错,说没有这个。h文件 请问怎么编译连接,还有有没有不需要编译连接的办法,就想添加stdio。h一样
  • 打赏
  • 举报
回复
controlled by ldconfig which linux distro do you have?
zhxianbin 2014-09-03
  • 打赏
  • 举报
回复
楼主的意思是要 install 到某个目录吧
zhxianbin 2014-09-03
  • 打赏
  • 举报
回复
#include 头文件 然后编译链接 so 就行了啊

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧