社区
Linux/Unix社区
帖子详情
编译连接时候的问题
thisisll
2005-11-30 05:25:54
现在有B.a里面放着b.o
我写了一个a.c
a.c里面调用了b.o的东西
如果我要编译连接a.c
那么
gcc -c a.c
gcc a.o -lB
可是我要把a.o放到B.a里面
那么生成a.o后
就要用ar把a.o放到B.a中了
可是没有连接,也就无法告诉a.o需要的b.o到底在哪里
我该如何??
...全文
206
12
打赏
收藏
编译连接时候的问题
现在有B.a里面放着b.o 我写了一个a.c a.c里面调用了b.o的东西 如果我要编译连接a.c 那么 gcc -c a.c gcc a.o -lB 可是我要把a.o放到B.a里面 那么生成a.o后 就要用ar把a.o放到B.a中了 可是没有连接,也就无法告诉a.o需要的b.o到底在哪里 我该如何??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gettext
2005-12-01
打赏
举报
回复
你可能是把编译和连接给弄混了。
thisisll
2005-12-01
打赏
举报
回复
有些问题
不问清楚永远都不清楚
------------------
连接使他得到函数的偏移量
那也就是说
总有个可执行程序在连接的时候最终调用到A.a中的a.o
然后a.o中的那个函数的偏移量就在这个时候得到了
我的理解对吗?
thisisll
2005-12-01
打赏
举报
回复
我也不想这样~~
饶着确实累啊
算了
大家休息吧~~
揭贴了~~~
lixiaosan
2005-12-01
打赏
举报
回复
就是整得有点麻烦了 。。。
直接弄到一个 .a就可以了。。。绕来绕去的。。人都绕昏了。。:)
yjf7888
2005-12-01
打赏
举报
回复
可以,没有问题
thisisll
2005-12-01
打赏
举报
回复
请楼上赐教
我之前就是看了这里才这么多莫名其妙的想法的
http://www-128.ibm.com/developerworks/cn/linux/l-dynlink/index.html#N10043
tb01412
2005-11-30
打赏
举报
回复
你难道不可以全部编译成.o文件之后再一起打包成库吗?????????简单的问题复杂化!!!
thisisll
2005-11-30
打赏
举报
回复
连接使他得到函数的偏移量
那也就是说
总有个可执行程序在连接的时候最终调用到A.a中的a.o
然后a.o中的那个函数的偏移量就在这个时候得到了
我的理解对吗?
bekars
2005-11-30
打赏
举报
回复
都放到B.a里了
那a.o就能找到b.o了吗?
从一开始我都没有告诉a.o他需要的函数在b.o中啊
当然可以!
如果我想把B.a放到A.a里
然后把a.o也放到A.a里
那a.o怎么知道他要的在A.a中的B.a中
所以的静态链接库相当于一个模块,所有的函数都是可见的(只要你包含正确的头文件),所以a.o可以找到它需要的东西。
thisisll
2005-11-30
打赏
举报
回复
还有问题
如果我想把B.a放到A.a里
然后把a.o也放到A.a里
那a.o怎么知道他要的在A.a中的B.a中
thisisll
2005-11-30
打赏
举报
回复
都放到B.a里了
那a.o就能找到b.o了吗?
从一开始我都没有告诉a.o他需要的函数在b.o中啊
bekars
2005-11-30
打赏
举报
回复
晕,需要这么复杂吗?
你直接将编译好的b.o和a.o一起ar为B.a不就可以了,不要把问题复杂化。
VC
编译
连接
问题
本文提供了解决使用Visual C++
编译
过程中遇到的libcpd.lib中xmbtowc.obj文件导致的unresolved externalsymbol_errno
问题
的方法。通过在链接设置中启用'forcefileoutput'选项,可以允许符号重复定义,从而解决
编译
连接
问题
。
关于在终端中
编译
未
连接
math库的
问题
本文介绍了一次在使用vim编辑器编写一元二次方程求解程序时遇到的
编译
错误:未定义引用到sqrt函数。通过添加
连接
math库的
编译
选项-lm解决了该
问题
,并提供了具体的gcc命令示例。
idea拉取SSM项目后Redis不能
连接
到池和项目没有全部
编译
问题
在IDEA中拉取SSM项目后遇到Redis
连接
异常,
问题
源于未正确配置
连接
参数。此外,项目并未全部
编译
导致额外
问题
。通过检查并删除不必要的Redis配置,发现IDEA未完整
编译
项目。为解决此
问题
,需在pom.xml中添加相关依赖以确保IDEA
编译
所有文件,从而成功
连接
Redis并完整
编译
项目。
vc
编译
连接
问题
本文详细介绍了在使用Visual Studio C++进行
编译
连接
时遇到的常见错误,包括动态与静态库的选择、输出目录设置、选项冲突、未初始化变量警告以及宏定义查看等,并提供了相应的解决方法和配置指导。
成功解决 qt不能
连接
mysql数据库 qt
编译
mysql驱动
问题
这篇博客主要介绍了在使用Qt时遇到无法
连接
MySQL数据库的
问题
,以及
编译
MySQL驱动的详细步骤。作者分享了如何配置Qt环境,下载必要的库,并解决
编译
过程中的依赖
问题
,帮助读者成功建立Qt与MySQL的
连接
。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章