MinGW 创建的程序或 DLL 脱离 libgcc-xx-xx.dll 和 libstdc++-x.dll 运行库的方法
MinGW 沿袭了 Linux 下 gcc/g++ 的习惯,编译出的程序或者动态链接库(共享库)总是默认采用动态链接方式,需要系统中附带运行时库文件 libgcc-xx-xx.dll 和 libstdc++-xx.dll。那么如果我们不想发布程序时还要附带这两个运行库,该如何操作呢?通过参考 gcc/g++ 用户手册,发现只需要在编译器或链接器参数设置中使用 -static-libgcc 和 -static-libstdc++ 即可实现对这两个运行库的静态库链接,不必附带运行库了。如果采用参数 -static,那么表示所有涉及到的外部共享库都采用静态链接方式了。不过 MinGW 始终还是要依赖 msvcrt.dll 这个在 Windows 平台上的基本运行库,但相信任何 Windows 平台都不会少了 msvcrt.dll 这个文件的,这是 Windows 必然自带的系统文件啦。
MinGW 创建的程序或 DLL 脱离 libgcc-xx-xx.dll 和 libstdc++-x.dll 运行库的方法的更多相关文章
- apache常见错误:VC运行库(找不到 VCRUNTIME140.dll)
1. 安装apache为系统服务时报错:找不到 VCRUNTIME140.dll 解决方案:安装 VC2015 2. 下载并安装 VC2015 运行库, 运行 VC_redist.x64.exe 无脑 ...
- 解决不安装VC运行库(VC2005,VC2008),程序运行出错的方法
因为VS2005以后程序采用了manifest的生成方式,所以发布的时候要和运行库一起发布.但是我们平时开发和发布的时候如果都要客户安装运行库,那就不太方便了.你可以Microsoft下载:http: ...
- mingw qt(可以去掉mingwm10.dll、libgcc_s_dw2-1.dll、libstdc++-6.dll的依赖,mingw默认都是动态链接gcc的库而TDM是静态链接gcc库,tdm版本更好用。用aspack压缩没有问题。qt本身不使用异常处理)good
原文地址:mingw qt作者:孙1东 不使用Qt SDK,使用mingw编译qt源代码所遇问题及解决方法: configure -fast -release -no-exceptions -no-r ...
- 用命令行工具创建 NuGet 程序包
NuGet.exe 下载地址 本文翻译自: https://docs.nuget.org/Create/Creating-and-Publishing-a-Package https://docs.n ...
- Windows Dll Injection、Process Injection、API Hook、DLL后门/恶意程序入侵技术
catalogue 1. 引言2. 使用注册表注入DLL3. 使用Windows挂钩来注入DLL4. 使用远程线程来注入DLL5. 使用木马DLL来注入DLL6. 把DLL作为调试器来注入7. 使用c ...
- C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理
一.MFC概念和作用 1.全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的运行流程 ...
- 在VS2015中用C++创建DLL并用C++调用且同一时候实现对DLL的调试
一:用C++创建DLL 依照[在VS2015中用C++编写可被其他语言调用的动态库DLL]提示创建C++编写的DLL.或參考[在VS2015中用C++创建DLL并用C#调用且同一 ...
- Windows 程序启动性能优化(先载入EXE,后载入DLL,只取有限的代码载入内存,将CPU的IP指向程序的入口点)
一.重定位链接时重定位:目标文件一般由多个节组成,编译器在编译每个目标文件时一般都是从0地址开始生成代码.当多个代码节合成一个代码段时,需要根据其在最终代码段中的位置做出调整.同时,链接器需要对已经解 ...
- 使用.net core3.0 正式版创建Winform程序
前阵子一直期待.net core3.0正式版本的出来,以为这个版本出来,Winform程序又迎来一次新生了,不过9.23日出来的马上下载更新VS,创建新的.net core Winform项目,发现并 ...
随机推荐
- 洛谷 P1593 因子和
https://www.luogu.org/problemnew/show/P1593#sub 利用约数和定理:可以去看一下公式第13条 然后这个题目的话,要求$a^b$,那么我们首先可以先将a分解然 ...
- 《零基础入门学习Python》【第一版】视频课后答案第001讲
测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...
- GoF23种设计模式之行为型模式之备忘录模式
一.概述 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象的外部保存这个状态.以便以后可以将该对象恢复到原先保存的状态. 二.适用性 1.当需要保存一个对象在某个时刻的状态( ...
- JAVA基础篇—HashMap
/class Depositor package 银行储户; public class Depositor { private String id; private String name; priv ...
- GPIO程序在PC上的模拟学习
#include <stdio.h> #include <malloc.h> #include <memory.h> typedef struct gpio { i ...
- Selenium2用最简xpath查找元素
什么是xpath? 来自百度百科的解释:XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点 ...
- MySQL-状态Waiting on empty queue引申
MySQL 事件调度器示例演示 我们大家都知道MySQL 事件调度器是在 MySQL 5.1 中新生的一个较为特殊的功能,其可以作为定时任务调度器,来取代部分原先只能用操作系统任务调度器才能完成的定时 ...
- foreach ($users as $key=>$value)
1: foreach(array_name as $value) { statement; } 这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$ ...
- vim 查找替换命令
http://vim.wikia.com/wiki/Search_and_replace
- /mnt/sdcard 是什么东西
关于/mnt/sdcard和sdcard的区别,可以这样理解:其实,安卓系统是从Linux而衍生出来的,而mnt是unix/Linux传统系统下挂载外部设备的专用目录,Linux默认挂载外部设备都会挂 ...