本文仅针对C和C++

vs2013下载C/C++编译器后,能够包含常见的头文件,stdlib.h,stdio.h,math.h这些。如果有其他需求例如:调用GL/glfw32.h,freeglut.h这些openGL开源图像处理函数库,直接在代码中include是会报错的。这时候就要学会如何将这些文件添加进工程文件中。

(1)打开解决方案资源管理器,找到自己的项目。

PS:如果找不到资源管理器的可以在“视图”这一栏下找到

(2)右击工程名称,我这里是“test”。然后点击“属性”。

(3)进入“VC++目录”,在“包含目录中”添加下载好的包含目录,在“库目录”中添加下载好的.lib文件。

举个例子,比如我要添加<GLFW/glfw3.h>,根据自己电脑是32还是64位到官网下载相应的扩展库。我这里下载的是

点击来是这样的

我们需要在“包含目录”中把这里的“include”目录添加进去。

另外,在“库目录”中,我们需要添加有.lib的文件目录。我这里是vs2013,所以选择“lib-vc2013”这个文件夹,把这个目录添加进去。

(4)只做上面这些,只是告诉编译器去哪儿找这些文件,并不代表能用得起来。我们知道程序编译需要经过:预处理——编译——汇编——链接这几个步骤,在链接操作时,编译器要找链接库,可能是动态链接库.dll也可能是静态链接库.lib,或者两者都需要。

按照步骤依次打开,并在附加依赖项中添加刚才的链接库。以glfw为例,就是在里面手动添加“glfw3.lib”字样,然后保存。至于为什么是glfw3.lib

因为我这个库的名字就是这个啊。。。。。。

(5)完成以上,在写代码的时候包含#include <GLFW/glfw.h>就可以调用这个库下的相关函数了。至于为什么包含头文件叫这个

其实我这里头文件的名称并不叫这个。。。。。。

发现了,因为我在之前的“包含文件”中添加的目录路径是到"include"的,但是我想访问的是在"include'目录下的GLFW中的glfw3.h。路径也就是

GLFW/glfw3.h。解释清楚了。

最后最后,一个非常关键的点:添加库目录的时候,一定一定要“送到家”,比如abc.lib文件在/app/lib/ccc/abc.lib中,添加的时候一定要添加到/app/lib/ccc,如果你只是/app/lib,链接的时候会报错!

综上,添加一个扩展库,需要有.h文件,.lib文件和.dll文件。逐个添加,逐个包含。

vs2013如何添加扩展库函数的更多相关文章

  1. 【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样

    申明: - 本文适用于WinForm开发 - 文中的“控件”一词是广义上的说法,泛指包括ToolStripItem.MenuItem在内单个界面元素,并不特指继承自Control类的狭义控件 用过To ...

  2. net-snmp源码VS2013编译添加加密支持(OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  3. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  4. linux下用phpize给PHP动态添加扩展

    使用php的常见问题是编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,这里就需要用到phpize了. 如我想增加bcmath扩展的支持,这 ...

  5. linux下用phpize给PHP动态添加扩展(转)

    使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能. 我没有在手册中看到. 如我想增加b ...

  6. php添加扩展插件

    给PHP安装扩展的方式有好多 一.重新编译 进入PHP源码目录./configure --prefix=/usr/local/php ...[其他编译参数] 二.通过phpize添加扩展 进入PHP源 ...

  7. shell的split生成的文件按规律命名及添加扩展名

    可以参考 用shell切分文件--split shell下的split命令主要用于分割一些大文件用的,比如经常要用到将一个几十万行的TXT分割为多少行一个的文件,非常有用,唯一坑爹的是,切割后的文件不 ...

  8. ios开发总结:Utils常用方法等收集,添加扩展类,工具类方法,拥有很多方便快捷功能(不断更新中。。。)

    BOBUtils 工具大全 本人github开源和收集功能地址:https://github.com/niexiaobo [对ios新手或者工作一年以内开发人员很有用处] 常用方法等收集.添加扩展类. ...

  9. Raspberry Pi3 ~ Eclipse中添加wiringPi 库函数

    这篇是在博客园原创 转载注明出处啊 以前用单片机.STM32之类的时候都是在一个集成的开发环境下进行的 比如Keil.IAR等 那么linux下编程,eclipse是个不错的选择 关于树莓派的GPIO ...

  10. chrome添加扩展程序

    example: chrome添加vue devtools 扩展程序 打开地址:https://chrome-extension-downloader.com/ download extension: ...

随机推荐

  1. (0514)芯王国-志锐-Sd卡高速控制-AXI验证

    (1)commit (2)core  (3)generate (4)struct  结构体 (5)

  2. 解决在Android studio的Button控件下background背景设置不起作用的问题

    Button控件默认的背景是深紫色的,有时候会看不清按钮上的文本,显得很不方便,想要修改背景色所以添加了background字段,但是又不起作用!!! 1.找到values文件夹下面的themes文件 ...

  3. C# 数据结构之嵌套加法、嵌套乘法

    复杂性度量问题 1.大O复杂度:嵌套加法 找出以下代码片段的 Big O 复杂度. using System; namespace Chapter_1 { class Challenge_1 { st ...

  4. 实验1task5

    <实验结论> #include <stdio.h> #include <stdlib.h> int main() { float a,b,c; printf(&qu ...

  5. Linux上的I2C基础知识

    Linux上的I2C基础知识 什么是I2C I2C(Inter-Integrated Circuit,eye-squared-C),也称为 I2C 或 IIC,是一种同步.多控制器/多目标(主/从). ...

  6. py10函数之嵌套-名称空间作用域

    # 函数是第一类对象:函数名指向的值可以被当中参数传递 # 1.函数名可以被传递# name = 'jason'# x = name# print(x)# print(id(x))# def func ...

  7. Wix Setting language and code page attributes

    When you localize your MSI package, you'll need to alter your Productand Package elements to suit. T ...

  8. UI动画练习 - CABasicAnimation:视图绕X/Y轴旋转(3D效果)

    视图 3D 旋转 1 - 代码示例:以绕 X 轴旋转为例 1 #import "ViewController.h" 2 @interface ViewController () 3 ...

  9. python代码规范PEP8

    1.引言 本文档给出了 Python 编码规约,主要 Python 发行版中的标准库即遵守该规约.对于 C 代码风格的 Python 程序,请参阅配套的 C 代码风格指南. 本文档和 PEP 257( ...

  10. J V M(二)双亲委派机制及native

    package java.lang;public class String {// 双亲委派机制: 安全// 应用程序加载器-扩展程序加载器-根加载器// 自底向上检查类是否被加载,自顶向下加载类// ...