VS中,如何实现包含静态库A,生成静态库B;在程序中引用静态库B的时候不需要再引用A?
我利用静态库A生成静态库B,然后在程序中引用静态库B的时候,如果不将静态库A也一起引用,程序报错,提示找不到静态库A,我的疑问在于:在利用静态库A生成静态库B的时候,不应...
我利用静态库A生成静态库B,然后在程序中引用静态库B的时候,如果不将静态库A也一起引用,程序报错,提示找不到静态库A,我的疑问在于:在利用静态库A生成静态库B的时候,不应该已经将A包含到B中了吗?
展开
2个回答
展开全部
这种情况确实是没包含。构建静态库B的时候,里面最多就可能只是写了要引用A,或者甚至连引用A都没写。
你要包含的话,用link工具把静态库A里面的obj文件解出来,然后在生成静态库B的时候把这些.obj文件也搞进去
你要包含的话,用link工具把静态库A里面的obj文件解出来,然后在生成静态库B的时候把这些.obj文件也搞进去
追问
你好,我构建静态库B的时候,只是简单地引用A。然后,可否推荐一下解析obj文件的工具,以及生成静态库B的时候添加obj文件的方法,不胜感激
追答
比如我有这么四个函数,每个文件放一个函数:
int add(int a, int b) { retur a+b; }
int sub(int a, int b) { return add(a, -b); }
int inc(int a) { return add(a, 1); }
int dec(int a) { return sub(a, 1); }
很明显,后两个依赖前两个。
我现在把前两个放进a.lib后两个放进b.lib,这样调用b.lib的地方如果只链接了b.lib,就会出现找不到add和sub函数的情况(因为没有链接a.lib)。
如果把a.lib和b.lib合并在一起,再链接的时候就没有这个问题了
另:好像不用把里面的obj文件拆出来、直接合并lib就可以的样子……
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询