VS2010中如何将动态链接库改成静态链接库

  VS2010静态编译生成的.exe可执行文件,可以免安装免DLL在其他电脑直接运行。
  静态编译:就是在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖动态链接库。
1. 编译实现方式有两种
  【1】debug方式的静态链接:
  设置:
  (1)项目 -> 配置属性->常规->MFC的使用:在静态库中使用MFC(如果有使用MFC)。
  (2)项目 -> 配置属性->C/C++->代码生成->运行库 :选择 多线程调试(/MTd)。
 
  编译时,选择的是debug,win32
  然后执行编译生成方案,在该工程目录下的debug文件中,找到该.exe文件,即可在其他电脑运行。
  debug方式生成的.exe文件会比较大,因为它包含了一些调试用的信息。
 
  【2】release方式,就是正式版发行版
  一般可以配置以下两项:
  (1)项目 -> 配置属性->常规->MFC的使用 :在静态库中使用MFC(如果有使用MFC)。
  (Project—Properties—Configuration Properties—General—Use of MFC—Use MFC in a Static Library)
  (2)项目 -> 配置属性->C/C++->代码生成->运行库 :选择 多线程(/MT)。
  (Project—Properties—Configuration Properties—C/C++—Code Generation—Runtime Library—Multi-threaded(/MT))
 
  编译时,选择的是release(这个选择项在工具栏的debug下拉列表中),win32。
  然后执行编译生成方案,在该工程目录下的release文件中,找到该.exe文件,即可在其他电脑运行。
 

2. 可能出现的问题

(1)提示一些库缺失

  解决:则需要把相应缺失的库添加到exe当前目录

  例如:把相应的glut32.dll添加到exe当前目录即可处理

  

VS2010中如何将动态链接库改成静态链接库的更多相关文章

  1. 动态链接库dll,静态链接库lib, 导入库lib

    转载地址:http://www.cnblogs.com/chio/archive/2008/08/05/1261296.html 目前以lib后缀的库有两种,一种为静态链接库(Static Libar ...

  2. linux下动态链接库.so文件 静态链接库.a文件创建及使用

    转摘网址为:http://www.cnblogs.com/fengyv/archive/2012/08/10/2631313.html Linux下文件的类型是不依赖于其后缀名的,但一般来讲:    ...

  3. vc下的静态链接库与动态链接库(一)

    一.静态库与动态库的区别 目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Lib ...

  4. [拾零]C/C++_代码复用的实现_静态链接库_动态链接库_使用.def导出

    1 静态链接库 1.1 创建静态链接库: 1.在VC6中创建项目:Win32 Static Library 2.在项目中创建两个文件:xxx.h 和 xxx.cpp 3.编译 1.2 使用静态链接库 ...

  5. MFC 封装类为静态链接库

    mfc自带的基本控件都不怎么美观,所以一般开发者都会自定义类对控件进行重绘.手里也积累了不少控件的重绘,对对话框.静态文本.列表框等. 但是每次都要把这些类重新导入到新的工程里,比较麻烦,而且我也不想 ...

  6. Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明

    本文描述的是windows系统下,通过qtcreator在pro文件中添加动态库与静态库的方法: 1.添加动态库(直接添加动态库文件.dll,非子项目) 通过qtcreator创建动态库的方法就不在此 ...

  7. OpenGL ES SL 3.0规范中以前的attribute改成了in varying改成了out

           OpenGL ES和OpenGL的图标 关于“OpenGL ES SL 3.0规范中以前的attribute改成了in varying改成了out”这个问题,做一阐述: 1.关键字的小修 ...

  8. 介绍静态链接库和动态链接库的差别,及在VC++6.0中的建立和使用

    首先介绍一下链接库:链接库分为动态链接库和静态链接库两种 LIB是静态链接库,在程序编译连接的时候是静态链接,其相应的文件格式是.lib. 即当程序採用静态链接库的时候..lib文件里的函数被链接到终 ...

  9. 在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。

    前言 在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了. 判断相等 字符串判断相等 String str1 = null; String str2 = "jav ...

随机推荐

  1. Makefile中进行宏定义-***

    实际上是gcc命令支持-D宏定义,相当于C中的全局#define: gcc -D name gcc -D name=definition Makefile中可以定义变量(和宏很像),但是是给make解 ...

  2. 视频支持拖动进度条播放的实现(基于nginx)

    http协议下的flv/mp4流式播放支持的三个要点: 1 服务器端要支持flv/mp4流式播放,现在nginx或者lighttpd都是支持这样的应用的,还支持mp4的流式播放(默认编译版本一般都是打 ...

  3. JVM体系结构之三:方法区之2(jdk1.6,jdk1.7,jdk1.8下的方法区变迁)

    方法区 方法区存储虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据.HotSpot中也称为永久代(Permanent Generation),(存储的是除了Java应用程序创建的对象之 ...

  4. 三大运营商2G/3G/4G频率分配和网络制式

    经过二十多年长期的发展,我国的通信业逐渐形成了2G/3G/4G并存的局面,手机通讯信号传输都是通过一定频率传输的,而三大运营商所拥有的频率和网络制式不尽相同,这就造成同一部手机在三大运营商之间可能不通 ...

  5. Android图片高斯模糊的一些方法

    高斯模糊 高斯模糊就是将指定像素变换为其与周边像素加权平均后的值,权重就是高斯分布函数计算出来的值. 一种实现 点击打开链接<-这里是一片关于高斯模糊算法的介绍,我们需要首先根据高斯分布函数计算 ...

  6. python xlwt操作excel

  7. NodeJs通过async/await处理异步

    ##场景 远古时代 我们在编写express后台,经常要有许多异步IO的处理.在远古时代,我们都是用chunk函数处理,也就是我们最熟悉的那种默认第一个参数是error的函数.我们来模拟一个Mongo ...

  8. [jOOQ中文]2. jOOQ与Spring和Druid整合

    https://segmentfault.com/a/1190000010496053 jOOQ和Spring很容易整合. 在这个例子中,我们将整合: Alibaba Druid(但您也可以使用其他连 ...

  9. css常用属性总结:关于word-spacing和letter-spacing的使用

    前端时间项目版本迭代,修改代码时发现使用了关于word-spacing和letter-spacing.先说下使用场景,以前的项目中,经常遇到某些字符间有一些间距,我看了一些同事的代码是这么实现的: & ...

  10. Gradle系列之从init.gradle说起

    从maven说起 用过maven的开发都知道,在maven里一些信息可以定义在全局的配置文件中,比如把一些仓库信息定义在用户目录/.m2/setting.xml文件中,这样就不用每个项目都配置这些相同 ...