静态库项目依赖的第三方静态库的问题

futurepi 2015-06-26 05:58:32
用vs2008 建立了一个c++(无MFC) dll工程st, 里面用到了两个静态lib文件a.lib, b.lib, 编译成动态库, 要使用的工程hostPro只要包含st.lib, 和st.dll就能使用. 现在要把st 编译成静态库, hostPro工程除了链接st.lib 外, 还要链接st.lib依赖的两个lib: a.lib, b.lib.现在的需求是: 能否让hostPro工程只链接一个st.lib .

也就是把a.lib 和b.lib集成在st.lib里, 动态库可以集成在一起, 静态库应该也可以把?
...全文
969 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zju_kk 2017-12-13
  • 打赏
  • 举报
回复
搞定了没有啊? 我也想知道如何屏蔽a.lib和b.lib,而仅仅使用st.lib就可以 不知道VS的界面里面有什么选项可以实现这个功能。
tangtangtangbaoli 2015-06-30
  • 打赏
  • 举报
回复
静态lib库,说白了就是把一大堆obj文件通过ar命令给打包在一起了.最简单的办法就是在你的st.lib工程里, #pragma comment(lib,"a.lib") #pragma comment(lib,"b.lib") 然后编译过了就行 不需要链接的
mymtom 2015-06-30
  • 打赏
  • 举报
回复
可以用lib.exe命令把静态库(a.lib, b.lib)里的.obj提取出来,然后和自己的.obj一起生成一个.lib静态库 lib.exe 的用法 https://msdn.microsoft.com/zh-cn/library/e17b885t%28v=vs.80%29.aspx
futurepi 2015-06-30
  • 打赏
  • 举报
回复
引用 4 楼 mymtom 的回复:
可以用lib.exe命令把静态库(a.lib, b.lib)里的.obj提取出来,然后和自己的.obj一起生成一个.lib静态库 lib.exe 的用法 https://msdn.microsoft.com/zh-cn/library/e17b885t%28v=vs.80%29.aspx
感谢~ 看起来好像可行, 目前正在写bat 导出所有lib, 拼装字符串 合并成lib , 希望可以~
futurepi 2015-06-30
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
《程序员的自我修养——链接、装载与库》
谢谢, 里面讲的东西蛮多的, 适合进阶系统的学习, 时间原因, 目前需要的是解决方案, 正在尝试版主的方法
futurepi 2015-06-30
  • 打赏
  • 举报
回复
引用 5 楼 tangtangtangbaoli 的回复:
静态lib库,说白了就是把一大堆obj文件通过ar命令给打包在一起了.最简单的办法就是在你的st.lib工程里, #pragma comment(lib,"a.lib") #pragma comment(lib,"b.lib") 然后编译过了就行 不需要链接的
这样st工程能编译过, 但hostPro工程除了st.lib, 还需要链接st依赖的a.lib和b.lib两个lib
赵4老师 2015-06-29
  • 打赏
  • 举报
回复
《程序员的自我修养——链接、装载与库》
futurepi 2015-06-29
  • 打赏
  • 举报
回复
引用 1 楼 FightForProgrammer 的回复:
你把a.lib和b.lib一起编译成你所需要的新的lib。
问题就是不知道如何把需要的lib 一起编译成一个静态库
FightForProgrammer 2015-06-26
  • 打赏
  • 举报
回复
你把a.lib和b.lib一起编译成你所需要的新的lib。

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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