`

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放到工程的可执行文件所在的目录下。

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

分享到:
评论

相关推荐

    PCRE++/PCRE静态库

    PCRE++和PCRE静态库 以及所需要的头文件 PCRE--可移植的正则表达式库 PCRE++--可移植的正则表达式库(C++封装后的)

    YOLOv3移植部署海思3516DV300板子c++源码(含wk模型+CV库+项目使用说明).zip

    交叉编译时所依赖的nnie库,海思官方提供,未作处理全部堆上,lib静态库,亦可换为动态库。 3.image demo输入原始图像dog_bike_car.jpg;dog_bike_car_416x416.jpg; 官方输入原始图像dog_bike_car_416x416.bgr; ...

    Programming In Lua First Edition(Finalized Revision 2.0) - PDF

    Lua脚本能够很容易被C/C++代码调用,同时也能够反过来调用C/C++的函数,这使得Lua在应用程序中被广泛应用,其中的一个重要应用就是作为游戏脚本。众所周知,Lua最著名的应用是暴雪娱乐公司(Blizzard)的网络游戏...

    vc++ 开发实例源码包

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    Programming In Lua First Edition(Finalized Revision 2.0) - 7Z

    Lua脚本能够很容易被C/C++代码调用,同时也能够反过来调用C/C++的函数,这使得Lua在应用程序中被广泛应用,其中的一个重要应用就是作为游戏脚本。众所周知,Lua最著名的应用是暴雪娱乐公司(Blizzard)的网络游戏...

    PDF库, C++, Haru Free PDF Library

    1. 使用的是Haru Free PDF Library库,可以直接通过Visual Studio编译成动态链接库(VS2015可以直接编辑通过);...3. 可编译为静态的Lib库或动态的DLL文件,编译属性均已经配置好。 4. 有问题请留言。

    LuaBind 源码 (Lua增强库)

    你正在使用一个UNIX系统(或者 cygwin),他们将使得构建LuaBind静态库变得很简单.如果 你正在使用 Visual Studio ,很简单的包含 src 目录下的文件到你的工程即可. 构建LuaBind的时候,你可以设定一些选项来使得库更加...

    ngrok-c:ngrok客户端为c语言,由于使用ngrok语言进行GO开发,移植到嵌入式设备有些不便,例如openwrt,因此使用C语言重写了客户端。 很小巧,需要支持Polarssl库

    ngrok-cthe client of ngrok in language CBefore compiling, you need to...看教程另外还需要在mbedtls-lib子目录中以同样方法修改并执行build.sh,并将编译生成的三个.a静态库文件拷贝至上层目录中buildddns.cpp and ...

    vc++ 应用源码包_6

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    vc++ 应用源码包_1

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    vc++ 应用源码包_2

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    vc++ 应用源码包_5

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    vc++ 应用源码包_3

    详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树控件拖动 演示了在树控件中来回拖动...

    libnyquist:跨平台C ++ 11库,用于解码音频(mp3,wav,ogg,opus,flac等)

    利伯尼奎斯特平台建置状态微软VS2017 x64 Clang(OSX)和GCC(Linux) Libnyquist是一个小型C ++ 11库,用于从磁盘或内存中读取采样的音频数据。 它旨在用作游戏,音频定序器,音乐播放器等的音频加载前端。 该库不...

    SQLite-with-MFC-in-Chinese:MFC SQLite 不会中文乱码

    打开vs2010 ,档案-> 新增专案-> Visual C++ -> Win32 -> Win32 专案,项目名称输入sqlite,点击下一步, 应用程序类型选择"静态程式库", 取消“预编译头” 将sqlite3.c,sqlite3.h两个文件复制到这个专案目录下...

    RakNetSimpleTest:学习开源游戏连接框架RakNet时的简单测试

    include 包含 RakNet 的所有头文件,来自 RakNet 源目录的 cp lib 包含用于 RakNet 的预编译二进制静态库,它是从 20150108 上来自 github 的源代码构建的,用于 RakNet4。 RakNet 的源代码可以在这里找到 请注意,...

Global site tag (gtag.js) - Google Analytics