本文仅针对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. 继承方式创建线程(继承Thread类)

    步骤: 用类继承Thread类 重写run()方法 在测试类中创建Thread的子类对象 通过此对象调用Start //1.类继承Thread public class AAA extends Thr ...

  2. Python列表等长度分割

    1 def list_of_groups(init_list, childern_list_len): 2 ''' 3 :param init_list: 4 :param childern_list ...

  3. 【python】pip的问题

    在更新pip的时候因为安装pip需要管理员权限,但是呢,又把pip给uninstall了 所以结果就是没有pip这个模块了 https://stackoverflow.com/questions/18 ...

  4. Linux编译安装中的--prefix

    本文主要说明--prefix参数的作用,其主要用在编译安装源代码应用中的./configure环节. 1.源码安装一般包括几个步骤:配置(configure),编译(make),安装(make ins ...

  5. supertv

    Banben:1.3BanbenendGengxinnr:死宅1.2更新内容:[换行]- 增加视频分享[换行]- 支持浏览器打开观看视频GengxinnrendDownurl:http://bmob- ...

  6. ts(typescript)讲解for , for...in..., for...of..., while, every, some, map, filter

    for  一般用于已知循环次数 var num:number = 5; var i:number; var factorial = 1; for(i = num;i>=1;i--) { fact ...

  7. 我与CSP的一点小事

    今天是20220311 见了YG老师,感觉被打了鸡血.然后想当初研一的时候,有了这篇LeetCode习题集 现在突然有了一点刺激之后,决定记录下这次的CSP经历,说无论怎么样是the shit,这次就 ...

  8. Java8 提供CompletableFuture来简化高并发异步处理编程

    (摘录自狂乱的贵公子)所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法.在 Java 语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续运行或返回,而不需 ...

  9. #maxlength vs #size form api reference

    #maxlength Used by: password, textfield Description: The maximum amount of characters to accept as i ...

  10. tensorboard 2.0可视化 —浏览器中输入http://ip:6006 - 无法访问此网站——有效解决

    https://blog.csdn.net/sinat_28442665/article/details/108975276