LLINUX GCC 编译C使用自定义动态链接库.so的问题

我有以下两种不同的编译方式,假设我的test文件需要用到test.so的链接库文件(在同一个文件夹):gcctest.c-otest1verify.sogcctest.c... 我有以下两种不同的编译方式,假设我的test文件需要用到test.so的链接库文件(在同一个文件夹):
gcc test.c -o test1 verify.so
gcc test.c -o test2 ./verify.so
得到的test1在同一文件夹下无法运行,提示找不到test.so文件,网上查是要把相应的路径添加的系统中
得到的test2文件只要在同一文件夹下即可运行!!!
我想知道这是为什么,编译时只有最后一个参数的写法不一样
展开
 我来答
火星人在奔跑
推荐于2016-11-04 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:109
采纳率:40%
帮助的人:30.2万
展开全部
1. 可以参考如下关于库文件的文章:http://numanal.com/?p=129
2. 在编译文件时最好用-L指明自定义库的存在目录, 利用如下任一语句(.so文件与.c文件在同一目录):
  gcc test.c -o test2 -L./verify.so
  gcc test.c -o test2 -L.
3. 你这里在的问题应该与编译器的某些兼容性有关, 在实际编写程序的时候最好按gcc的语法规范走, 避免不必要的错误.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式