如何在vc中使用mingw编译出来的动态库和静态库

 我来答
一骑当后
2015-01-21 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306444
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
  mingw编译出来的静态库后缀名为.a,编译出来的动态库的导入库后缀名为.dll.a,而在windows下后缀名为.lib的库可能是静态库也可能是动态库的导入库。

  mingw编译出来的动态库的导入库可以直接在vc中直接使用,例如

  #pragma comment(lib, "libx264.dll.a")

  这样你就不需要生成一个.lib后缀的动态库的导入库了,网上也有如何从.dll生成.lib的方法。

  如果链接了动态库的导入库libpthread.dll.a,你发布的应用程序就要带上pthread的dll。
  使用静态库的好处是发布的应用程序组件模块里不需要带上相关的dll,如果要使用mingw编译出来的静态库,可以如下:

  #pragma comment(lib, "libx264.a")

  但是仅仅链接这么一个静态库是不够的,你还需要链接

  libgcc.a

  libmingwex.a

  你可能还需要链接libmsvcrt.a

  否则会报一堆错误:error LNK2001: 无法解析的外部符号

  上面的这些库在C:\MinGW\lib目录或子目录下面可以找到。

  链接这些库的原因是mingw使用的gcc编译器和vc编译器之间存在差异
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式