关于VS2010工程各种路径注意事项汇总
关于VS2010工程各种路径注意事项汇总
声明:引用请注明出处http://blog.csdn.net/lg1259156776/
说明:前段时间调试,利用cmake生成的vs2010工程文件,虽然该工程调试好了,但是对于为了修改相关接口函数,然后重新复制工程文件到新的目录下进行调试,总是出现各种各样的错误,最后发现问题出在了VS2010工程中各种包含路径的错误,是相对路径与绝对路径的问题,导致生成的库文件和修改后包含的头文件并不是在我拷贝后的那个工程路径下,而是在父工程目录下,浪费了不少时间,下面对VS工程中一般需要设置的路径进行说明。
首先最基本的路径当然是在VC++目录里面的两个:include目录和lib目录,指的是查找头文件所需要寻找的路径,输入lib文件所用寻找的路径,一般地,以opencv的目录为例,在使用时通常需要在include目录下输入opencv中的头文件的绝对路径(通常是include文件夹,然后再源文件中可以直接opencv2/xxx.h等形式),因为opencv整个头文件和库文件都是不会再修改的,同时直接放到D盘,不在改变即可。而对应的lib文件的包含目录要根据平台是x86还是x64,VS2010还是VS2012等,也是绝对路径。注意:debug和release版本的库形式上的区别是debug带一个d,而release不带,然后根据debug还是release版本,在链接器->输入->附加依赖项栏目输入对应的库文件,或者使用#pragma comment(lib,”xxx.lib”)在源文件中进行输入。而对应的dll文件,通常直接放入Path系统环境变量中,因为它是在程序执行的时候动态的包含的,所以Path路径是可执行程序搜索动态链接库的目录之一。而一般自己生成的动态链接库,自己维护的话,最好还是放到可执行文件的目录下,因为执行的时候会在该目录下搜索。
另外一个不常注意的是在C/C++->常规的栏目页,有一个附加包含目录,也是include文件的输入路径之一;如果程序中定义了预处理器类似如下:
#ifdef _WIN32
#include <windows.h>
#define strcasecmp _stricmp
#define strncasecmp _strnicmp
#else
而这些个定义_WIN32等,可以在C/C++->常规的栏目页的预处理器定义项中输入对应的名字即可;
另外,还要注意好输出目录,目标文件的扩展名,以及目标文件名等。正如上一篇博文中所说的,在配置属性->调试栏目页,有设置工作目录,命令行参数的项目,进行编辑即可实现调试的输入参数。
对于经常拷贝的工程,其中的目录除了上面讲到的类似opencv这些基本上不变得SDK,可以输入绝对路径,而自己维护的头文件和库文件等最好还是放入对应的工程下,选择使用相对路径为妙。正如前面所讲的,这个问题狠狠的搞了我一下!
大致先总结这么多,其他的陆续发现,陆续补充。
2015-10-19 调试记录 张朋艺
关于VS2010工程各种路径注意事项汇总的更多相关文章
- CMake生成VS2010工程相对路径和绝对路径问题说明
CMake生成VS2010工程相对路径和绝对路径问题说明 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 主要是使用CMake生成的VS2010的工程,最好不 ...
- web工程常用路径的获取方法
此文章是基于 搭建SpringMVC+Spring+Hibernate平台 一. 利用 Spring 取得web工程根路径 1. web.xml 中添加如下: <context-param> ...
- ARCGIS 10.1 发布服务问题以及注意事项汇总
本文会逐渐丰富,并在遇到问题后进行整理进来. 一.了解ArcGIS Server以及如何利用ArcServer发布服务 官方中文帮助文档:http://resources.arcgis.com/zh- ...
- Eclipse的Java工作集和多工程构建路径
一.Java工作集: Eclipse有一个小功能,就是创建Java Working Set.它的作用是解决Package Explorer窗格中创建很多工程时出现拥挤的麻烦. 在创建(New对话框)时 ...
- JSP、Java和Servlet获取当前工程的路径
JSP.Java和Servlet获取当前工程的路径: 1.JSP中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI()结果:/TE ...
- VS2010 工程设置
本篇文章的主要内容转载自 http://blog.csdn.net/waitforfree/article/details/8622059 ,感谢博主的辛苦劳动.此处,对比较重要的部分,进行进一 ...
- VS2010添加默认路径,库以及Lib
下面以OpenCV为例,不需要每次打开VS2010都手动添加OpenCV的库和lib,具体方法如下: VC++目录 步骤一:用任意文本编辑器打开: VS安装目录中的\VC\VCWizards\def ...
- VS2010工程文件减肥
由于VS2010中新增加了sdf和ipch文件等浏览数据库来支持智能浏览感知编辑.显示类视图等,使得随便一个小工程就上百兆,很占用空间也不方便工程项目的打包备份.为了不使用数据库以减小VS2010中的 ...
- vs2010工程迁移问题,x64到Win32
ALL_BUILD:vcxproj:找不到项目文件“ALL_BUILD”中引用的平台“x64”.请确保已将该平台安装在“%VCTargetsPath%\Platforms\x64”下.无法加载项目. ...
随机推荐
- day 50 jquary 终极版本
jQuary 一.jquary对象和dom对象 jquary找到的标签对象成为-- jquary对象 原生js找到的标签对象成为 -- dom对象 dom对象只能使用dom对象的方法,不能使用jque ...
- reCaptcha 新版,国内可无障碍使用
reCaptcha 新版,国内可无障碍使用 蓝小灰 Digital Sign® PKI 创始人/一点安全专栏主编 4 人赞同了该文章 如果你在使用一些网站看到下图,这就是由 Google 提供的 re ...
- vue报错 :NavigationDuplicated {_name: "NavigationDuplicated", name: "NavigationDuplicated"}
解决的几种办法 https://blog.csdn.net/weixin_43202608/article/details/98884620 这个适合所有vue的UI框架 在main.js下添加一下代 ...
- 数据结构实验之查找一:二叉排序树 (SDUT 3373)
二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),也称二叉搜索树. #include <stdio.h> #include <s ...
- CSS绘制三角形—border法
1. 实现一个简单的三角形 使用CSS盒模型中的border(边框)即可实现如下所示的三角形: CSS实现简单三角形 实现原理: 首先来看在为元素添加border时,border的样子:假设有如下 ...
- Facebook开源时间序列内存数据库Beringei,追求极致压缩率——如果是int根据大多数时间序列中的值与相邻数据点相比并没有显著的变化,只要使用XOR将当前值与先前值进行比较,然后存储发生变化的比特。最终,该算法将整个数据集至少压缩了90%
转自:http://www.infoq.com/cn/news/2017/02/Facebook-Beringei 2017年2月3日,Facebook宣布将开源他们的高性能时序数据存储引擎Berin ...
- OAuth 2.0 的四种方式
上一篇文章介绍了 OAuth 2.0 是一种授权机制,主要用来颁发令牌(token).本文接着介绍颁发令牌的实务操作. 下面我假定,你已经理解了 OAuth 2.0 的含义和设计思想,否则请先阅读这个 ...
- Feed流系统设计-总纲
https://mp.weixin.qq.com/s/ccxM2thPbzg5vDWgGVJ5vQ 作者:少强 简介 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代 ...
- 如何实现 Https拦截进行 非常规“抓包” 珍惜Any 看雪学院 今天 前段时间在自己做开发的时候发现一个很好用的工具,OKHttp的拦截器(何为拦截器?就是在每次发送网络请求的时候都会走的一个回调)大概效果如下:
如何实现 Https拦截进行 非常规“抓包” 珍惜Any 看雪学院 今天 前段时间在自己做开发的时候发现一个很好用的工具,OKHttp的拦截器(何为拦截器?就是在每次发送网络请求的时候都会走的一个回调 ...
- vue-resource在vuecli3中请求headers修改
this.$resource.delete({ user_code: Cookie.get("empid"), date: date, file_name: file_name } ...