全站数据
8 4 2 0 5 8 1

MinGW怎样设置动态链接库的路径

建造师课件中心 | 简单学习,快乐成才!         
问题更新日期:2024-10-13 03:59:40

问题描述

MinGW怎样设置动态链接库的路径求高手给解答
精选答案
最佳答案

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.alibmingwex.a你可能还需要链接libmsvcrt.a否则会报一堆错误:error LNK2001: 无法解析的外部符号上面的这些库在C:

MinGW

lib目录或子目录下面可以找到。链接这些库的原因是mingw使用的gcc编译器和vc编译器之间存在差异