关于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”下.无法加载项目. ...
随机推荐
- Count on a tree 树上主席树
Count on a tree 树上主席树 给\(n\)个树,每个点有点权,每次询问\(u,v\)路径上第\(k\)小点权,强制在线 求解区间静态第\(k\)小即用主席树. 树上主席树类似于区间上主席 ...
- java 标准日期格式
public static void main(String[] argv) { // 使用默认时区和语言环境获得一个日历 Calendar cale = Calendar.getInstance() ...
- CentOS7 升级Python2.x到3.x
CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级.由于很多基本的命令.软件包都依赖旧版本,比如:yum.所以,在更新 Python 时 ...
- 图灵学院java架构课程
1.wps文档地址 https://docs.qq.com/doc/DRVNLUndvTmFSdEhO 2.百度网盘地址 https://pan.baidu.com/s/1uxaTzJZHKrsw_H ...
- Js 之cookie插件(jquery.cookie.js)
一.代码 (function (factory) { if (typeof define === 'function' && define.amd) { // AMD define([ ...
- bind--dns-docker---[nslookup/dig]
[dig] https://www.cnblogs.com/apexchu/p/6790241.html [dns resolution and revserse ]https://www.cnbl ...
- CV_Learn
CV学习进度条记录,也是SRTP的进度记录. 阶段一(2019.4-2019.5): 1.opencv简单操作学习.(实现了一些基础操作,从颜色通道到边缘轮廓,2019.4.22完成) 2.linux ...
- Cesium Workshop
参考资料: https://cesiumjs.org/tutorials/Cesium-Workshop/ https://github.com/geoadmin/workshop-cesium3d ...
- 详谈mysqldump数据导出的问题
1,使用mysqldump时报错(1064),这个是因为mysqldump版本太低与当前数据库版本不一致导致的. mysqldump: Couldn't execute 'SET OPTION SQL ...
- Python-文件读写及修改
文件的读写有三种形式:读.写和追加. 一.读模式 r 和读写模式 r+ 1.读模式 r 读模式r特点:(1)只能读,不能写:(2)文件不存在时会报错. (1)例:读取当前目录下的books.txt文件 ...