有一个库的源代码,怎么用mingw编译产生成lib

有一个库的源代码,怎么用mingw编译产生成lib,第1张

 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

mingw 下 设定头文件路径:

C++头文件目录%MINGW_PATH%/lib/gcc/mingw32/4.4.0/include/c++下有头文件,里面有std::string类的声明。

//根目录

MINGW_PATH=D:/MinGW (举例D盘,实际根据自己的MInGw的安装路径决定)

//C头文件目录

C_INCLUDE_PATH=%MINGW_PATH%/include%MINGW_PATH%/lib/gcc/mingw32/3.4.5/include

//C++头文件目录

CPLUS_INCLUDE_PATH=%MINGW_PATH%/include/c++/3.4.5%MINGW_PATH%/include/c++/3.4.5/mingw32%MINGW_PATH%/include/c++/3.4.5/backward%C_INCLUDE_PATH%

//在QTSDK带的MinGW中C++头文件目录均在lib文件夹下

CPLUS_INCLUDE_PATH=%MINGW_PATH%/lib/gcc/mingw32/4.4.0/include/c++%C_INCLUDE_PATH%

//库目录

LIBRARY_PATH=%MINGW_PATH%/lib%MINGW_PATH%/lib/gcc/mingw32/3.4.5

//可执行程序目录

PATH=%MINGW_PATH%/bin%MINGW_PATH%/libexec/gcc/mingw32/3.4.5


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11268989.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存