`

VS 工程添加引用lib静态库 以及 移植c/c++工程

 
阅读更多

1.程序中添加代码: #pragma comment(lib,"winmm.lib")

 

2.在解决方案管理器中,对工程单击右键,选择属性->配置属性->链接器->命令行->附加属性,在里面输入库名,点应用就可以了  

右键一个Project,可以发现有两个地方设置Include的相关目录:

1. VC++ Directories -> Include Directories
2. C/C++ -> General -> Additional Include Directories

 一个是修改了 系统的 include 宏的值, 是全局的; 一个是用于项目的,对其他项目没有影响。

 

 -------------------------

使用Visual Studio 2010开发C++程序的时候,会发现有一些奇怪的文件被创建出来,比如一个叫ipch的文件夹,和一个与工程同名的.sdf文件,而且ipch下面的文件和.sdf文件都很大,至少有10M,大项目可能超过100M,那这些文件是干什么用的呢?
这些文件是Visual Studio用来保存预编译的头文件 和Intellisense 用的,删除这些文件对于工程的开发完全没有影响。那如果我既想使用预编译的头文件和Intellisense,又不想看到这些无聊的文件该怎么办呢?
在Visual Studio里进入如下设置:进入“Tools > Options”,选择“Text Editor > C/C++ > Advanced”,然后找到“Fallback Location”。然后把“Always use Fallback Location”和“Do Not Warn if Fallback Location Used”设置成“True”就可以了


使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量,可惜毕竟硬盘还没有廉价到免费的地步。

那么,该怎么解决呢?其实可以关闭它。方法:

Tools->Options->Text Editor->C/C++->Advanced->Disable Database,设置为True

但是这样的办法会产生另外的一些问题,可能会导致其他的一些功能不能使用。另外一种解决方法是:

Tools->Options->Text Editor->C/C++->Advanced,在 Fallback Location 的属性组中,将"Always Use Fallback Location"设置为 true,将"Do Not Warn If Fallback Location Used" 设置为 true ,然后删除解决方案目录下的 sdf 文件和 ipch 目录,再次打开解决方案,发现这些烦人的东西已经不见了。

那么那些文件放置到那里了呢?看 "Fallback Location" 属性说明:这是存储浏览信息数据库和 IntelliSense 文件的第二个位置,如果不指定则放置到临时目录中;到临时目录一看,里面有一个 VC++ 的目录,都在那个目录里面呢。

可以在 "Fallback Location" 属性中,设置一个固定的路径来存储这些文件,比如D:\VS2010Temp,这样也比较好管理这些庞大的臃肿的文件,可以定期清理掉它们,释放出硬盘空间!

 


 

 

------------- 

在VS工程中,移植c/c++工程的基本步骤:

    1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

    2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。          然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

    3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。

==============================

分享到:
评论

相关推荐

    fne转lib静态库.rar

    5. **创建LIB文件**:最后,使用链接器将OBJ文件和FNE库合并,生成LIB静态库。链接器会处理函数调用和依赖关系,确保所有必要的代码都被包含在LIB文件中。 在这个过程中,可能会遇到一些挑战,例如数据类型的转换、...

    linux c/c++ jsoncpp 头文件以及动态度 (也移植了arm)

    动态度(动态库)在 C/C++ 开发中很重要,因为它允许程序在运行时加载和链接库,而不是在编译时静态绑定。动态库可以减少应用程序的大小,因为多个程序可以共享同一份库的内存映像。在 Linux 中,动态库的扩展名为 `...

    android中移植 c c++程序

    在 Android 中,C/C++ 程序需要编译成静态库或动态链接库,以便在 Android 设备上运行。 首先,Android 并没有采用 glibc 作为 C 库,而是采用了 Google 自己开发的 Bionic Libc。Bionic Libc 是一个轻量级的 C 库...

    PDFlib-9.1.0-MSWin64-C-C++.zip_PDFLib库文件_PDFlib 9_WWW、64c、cc_c9.

    在“PDFlib-9.1.0-MSWin64-C-C++.zip”压缩包中,包含了这些功能的实现和必要的头文件、库文件以及可能的示例代码。 PDFlib库的关键特性包括: 1. **文档创建**:开发者可以使用PDFlib创建全新的PDF文档,添加文本...

    9.C++静态库和动态库1

    在Windows的VS中,使用静态库的方法包括在项目的“属性面板”中添加引用,或者在编译链接时指定库的路径和名称。 总的来说,静态库提供了一种便捷的方式来封装和重用代码,但同时也可能导致可执行文件变大和资源...

    gmp-6.2.1 静态库和动态库(32位,64位)

    静态库(.a或.lib)是将所有依赖的函数和数据都包含在一个单一的库文件中,链接时会直接将库代码合并到可执行文件中,这样运行时不需依赖外部库,但会使程序体积增大。动态库(.so或.dll)则是在编译时并不包含在可...

    VS中C++项目所需的sqlite3库

    5. **添加库依赖项**:在同一个属性页下,选择“输入” > “附加依赖项”,如果是静态库,添加`sqlite3.lib`;如果是动态库,添加`sqlite3.dll`。 6. **包含头文件**:在源代码中,你需要包含SQLite3的头文件`#...

    VC静态库的应用

    VC静态库的应用主要涉及到Windows平台下使用Visual C++(简称VC)进行软件开发时,如何利用静态库(Static Library)来实现代码复用和模块化。静态库是编译器在编译链接阶段将库代码合并到最终可执行文件中的库形式...

    libsvm的vc++移植版

    3. **动态链接库(DLL)或静态库**:根据项目需求,可以选择生成DLL或者静态库,前者可以减少代码大小,但需要处理依赖问题,后者则会增加可执行文件的大小。 4. **接口封装**:为了方便在C++代码中调用,可能需要...

    boost1.71_MinGW7.3(32/64位动态库、静态库)

    "lib"目录通常包含了编译好的库文件,包括动态库(.dll)和静态库(.lib),动态库在运行时被加载到进程,而静态库在编译时链接到目标程序中。动态库可以节省磁盘空间和内存,因为多个程序可以共享同一份库,但需要...

    C++动态库和静态库的使用.rar

    本资料包“C++动态库和静态库的使用.rar”涵盖了这两种库的创建、使用方法及相关知识点。 一、静态库 1. **静态库的概念**:静态库是将多个目标文件(.obj或.o)链接在一起形成的库文件,如.lib(Windows)或.a...

    botan静态库以及其头文件(绝对可用)

    在编译ne7ssh时,如果它依赖于Botan库来实现其加密功能,那么就需要Botan的头文件(.h文件)和静态库文件(.a或.lib文件)。头文件包含了函数声明和数据结构定义,使得编译器知道如何调用Botan库中的函数;静态库...

    PCRE++/PCRE静态库

    总之,PCRE++/PCRE静态库为C++开发人员提供了一种强大且可移植的方式来处理字符串和正则表达式。正确理解和使用这两个库,可以极大地提升你的字符串处理能力,为你的项目增添更多灵活性和功能。

    c++ 静态链接库动态链接库示例

    本篇文章将详细探讨这两种链接库的概念、创建过程以及如何在C++项目中使用它们。 **静态链接库(Static Linking Library)** 静态链接库是编译器在生成可执行文件时,会将库中的函数和数据直接嵌入到目标代码中。...

    pthread静态库,动态库,vs2019,win32/x64 ,debug/release

    2. 在VS项目属性中,导航到“C/C++” -> “常规” -> “附加包含目录”,添加`pthread`头文件的路径。 3. 对于链接器设置,转到“链接器” -> “输入” -> “附加依赖项”,在debug和release模式下分别添加对应的...

    C++ rtf lib demo doc

    本主题将深入探讨如何使用C++库来读写和创建RTF文档,以及如何通过VC6(Visual C++ 6.0)工程来实现这一目标。 首先,"cpp rtf lib"指的是一个专门处理RTF文档的C++库,它提供了API接口供开发者调用,以便在C++程序...

    pthreads-win32 vs2017 静态编译工程

    3. 修改应用程序的链接器设置,将刚刚生成的静态库文件(通常是.lib文件)添加到链接输入(Input)中。 4. 编写并调用pthreads API,实现多线程功能。 5. 编译并测试程序,确保所有依赖项都已包含在内,无须额外的...

    C++静态库和动态库的导入导出demo

    在C++编程中,库是代码复用的重要方式,分为静态库(.lib或.a)和动态库(.dll或.so)。本示例将详细解释这两种库的创建、使用及导入导出机制。 首先,静态库是将库代码在编译时直接链接到目标程序中,形成一个独立...

    Pthread 多线程C++动态库+静态库+头文件

    标题中的"Pthread 多线程C++动态库+静态库+头文件"指的是Pthread库在C++环境下的多线程应用,适用于Windows平台,并且兼容Visual Studio及MFC(Microsoft Foundation Classes)框架。Pthread,全称为POSIX Threads,...

Global site tag (gtag.js) - Google Analytics