VS属性配置和auto-linking
来源:互联网 发布:java源码中的设计模式 编辑:程序博客网 时间:2024/06/03 21:59
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++》常规》附加包含目录 中,将
利用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?
- VS属性配置和auto-linking
- visual studio配置中包含目录和附加包含目录的区别以及auto-linking
- 【hibernate】配置hbm2ddl.auto属性
- Android Static Linking vs Dynamic Linking
- VS项目配置属性
- VS配置属性
- 【VS】项目属性配置
- Auto vs *
- hibernate配置属性hbm2dll.auto初步理解
- hibernate配置属性hbm2ddl.auto解析
- C++11 auto vs auto& vs auto&&
- vs项目属性路径配置
- vs环境配置属性介绍
- VS工程配置属性设置
- CV:learning resource linking VS. enterprises
- 关于Azure Auto Scale的高级属性配置
- hibernate配置属性---自动建表 hibernate.hbm2ddl.auto
- hibernate.cfg.xml 中hbm2ddl.auto属性配置说明
- 使用配置文件配置微信自动回复内容信息
- 菜鸟成长记-Xcode开发必备快捷键操作
- HTML5中动画实现的效果
- tomcat同时存在多个项目webapp.root问题
- git操作
- VS属性配置和auto-linking
- html5 移动设备旋转角度信息
- BZOJ4590 [Shoi2015]自动刷题机
- 虚函数和纯虚函数的区别
- MD5加密算法分析 及byte转16进制字符串
- Java CopyOnWriteArrayList工作原理及实现(一)
- perl 为什么要用引用来做对象呢?
- 安卓_再按一次返回键推出程序
- mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法