VS属性配置和auto-linking
2016-05-18 15:21
148 查看
VS属性配置和auto-linking
Abstract
在windows的c/c++开发世界里,vs作为微软系的IDE有着很重要的影响力和友好性(开发、调试等等),当然爱好命令行的酷炫狂拽的geek程序员和大牛们可能不在此列。作为一款IDE中的利器,vs将代码工程的配置,集成到可视化的工程属性对话框中。能够有效的配置工程属性,能够在让我们在开发中免于重复操作和被各种链接、运行错误影响的麻烦。同时笔者在使用opencv和boost库是,发现了auto-linking的存在,由此也让我意识到自己所知甚少。
下文主要介绍一种更加有效的lib/dll的配置方法,以利于程序转移时不用因为使用绝对路径而烦恼;同时介绍一下auto-linking的一些简单情况。
lib库的配置
合理的工程组织将lib或者dll文件放置在工程根目录(
$(SolutionDir)下lib目录,头文件放置在include目录下,当然具体的路径和和目录名称可自己调整,当然我觉得放置在工程的根目录下,有利于管理和配置的便利。
以前常使用的方法,经常被我配置成绝对路径
参考Visual Studio下C++第三方库的配置方法总结,这里面详细介绍了配置的过程,图文并茂,很好操作。
总结一下就是,将头文件、库文件的目录添加进去,同将依赖库的名称填入配置属性》连接器》输入》附加依赖库中,但是并不太提倡将dll目录添加入环境变量的做法。
这个配置做法好虽然好,但是有这样的问题,首先配置相对路径的话,有点麻烦;其次,点点点。
更加清晰的配置,还是上图吧
总结一下,第一,在配置属性》c/c++》常规》附加包含目录 中,将(SolutionDir)include目录引入;第二,在配置属性》链接器》常规》附加库目录,将(SolutionDir)include目录引入;第二,在配置属性》链接器》常规》附加库目录,将(SolutionDir)lib目录引入,以为SolutionDir宏值是带目录的反斜线的;当然还有第三,仍然是要像配置属性》连接器》输入》附加依赖库中添加需要的库的名字。sigh!
利用VS内置的宏,还可以做很多事情;有一些还需要继续了解,尤其是关于路径的问题。
dll如何处理
auto-linking
问题在配置opencv和boost库的时候发现了存在这个问题,但是不幸的是opencv并不支持auto-linking,也即是需要在附加依赖库里填写一大堆的库文件名,而boost不用
原因解释
可以参考<库目录>和<附加依赖项>的区别?的回答,之处了opencv和boost的差异,是我获得了这个问题存在的来源
How boost auto-linking makes choice?
感受
程序的世界里,我实在是知之甚少。写代码,有一种畏惧感。
我应该怎么从现状中摆脱??
感谢
Visual Studio下C++第三方库的配置方法总结<库目录>和<附加依赖项>的区别?
How boost auto-linking makes choice?
相关文章推荐
- Android进度条——ProgressDialog
- JavaScript 基础函数_深入剖析变量和作用域
- 使用配置文件配置微信自动回复内容信息
- 回溯法_0/1背包问题(非递归)
- HDOJ1091
- Python基础知识之排序法
- javascript学习——块作用域和私有变量
- 经典算法<一>迷宫问题 4.多条路径 求路径条数求解 C++实现
- Swift学习第四枪
- 牛客网算法学习记录-排序
- 什么是序列化和反序列化,可以用来做什么?如何在OC中实现复杂对象的存储
- Unity VR——全景视频播放方案
- canvas 让你呼风唤雨,下雨下雪效果
- 335 Self Crossing
- 在子线程中更新UI,只能使用Handler
- 全卷积网络:从图像级理解到像素级理解
- springmvc封装date类型
- UCloud 可用区的设计理念及功能图文详解
- linux下DNS服务器视图view及日志系统详解
- Toolbar文字居中