本文主要是介绍mingw静态链接(libgcc_s_seh-1,libstdc++-6和 libwinpthread-1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 概述
在Windows用mingw编译的C/C++程序默认会依赖这三个动态库:
- libgcc_s_seh-1.dll: 该库是 GCC 提供的一个运行时库,用于处理 C 和 C++ 程序中的一些基本运算。SEH 代表结构化异常处理,这是 Windows 系统上的一种异常处理机制。
- libstdc+±6.dll: 该库是 GCC 提供的 C++ 标准库的动态链接库文件,它包含了 C++ 程序运行时需要的标准库实现。在 Windows 平台上,许多使用 C++ 编写的应用程序都依赖这个 DLL 文件。
- libwinpthread-1.dll: 该库是 GnuWin 工具集中的一个 DLL 文件,它提供了 POSIX 线程库(pthreads)的 Windows 实现。
其实可以选择链接对应版本的静态库.
2 静态链接libgcc_s_seh-1.dll
链接时增加链接选项 -static-libgcc,如下所示:
gcc -o myprogram myprogram.c -static-libgcc
3 静态链接libstdc+±6
链接时增加链接选项 -static-libstdc++,如下所示:
g++ -o myprogram main.cpp -static-libstdc++
4 静态链接libwinpthread-1.dll
暂时没法发现静态链接libwinpthread-1.dll的专用链接选项,不过可以通过链接选项 -static来实现。不过链接选项-static相当于将libstdc+±6和libgcc_s_seh-1也静态链接了。
g++ -o myprogram main.cpp -static
这篇关于mingw静态链接(libgcc_s_seh-1,libstdc++-6和 libwinpthread-1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!