关于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工程各种路径注意事项汇总的更多相关文章

  1. CMake生成VS2010工程相对路径和绝对路径问题说明

    CMake生成VS2010工程相对路径和绝对路径问题说明 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 主要是使用CMake生成的VS2010的工程,最好不 ...

  2. web工程常用路径的获取方法

    此文章是基于 搭建SpringMVC+Spring+Hibernate平台 一. 利用 Spring 取得web工程根路径 1. web.xml 中添加如下: <context-param> ...

  3. ARCGIS 10.1 发布服务问题以及注意事项汇总

    本文会逐渐丰富,并在遇到问题后进行整理进来. 一.了解ArcGIS Server以及如何利用ArcServer发布服务 官方中文帮助文档:http://resources.arcgis.com/zh- ...

  4. Eclipse的Java工作集和多工程构建路径

    一.Java工作集: Eclipse有一个小功能,就是创建Java Working Set.它的作用是解决Package Explorer窗格中创建很多工程时出现拥挤的麻烦. 在创建(New对话框)时 ...

  5. JSP、Java和Servlet获取当前工程的路径

    JSP.Java和Servlet获取当前工程的路径: 1.JSP中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI()结果:/TE ...

  6. VS2010 工程设置

       本篇文章的主要内容转载自 http://blog.csdn.net/waitforfree/article/details/8622059 ,感谢博主的辛苦劳动.此处,对比较重要的部分,进行进一 ...

  7. VS2010添加默认路径,库以及Lib

    下面以OpenCV为例,不需要每次打开VS2010都手动添加OpenCV的库和lib,具体方法如下: VC++目录 步骤一:用任意文本编辑器打开:  VS安装目录中的\VC\VCWizards\def ...

  8. VS2010工程文件减肥

    由于VS2010中新增加了sdf和ipch文件等浏览数据库来支持智能浏览感知编辑.显示类视图等,使得随便一个小工程就上百兆,很占用空间也不方便工程项目的打包备份.为了不使用数据库以减小VS2010中的 ...

  9. vs2010工程迁移问题,x64到Win32

    ALL_BUILD:vcxproj:找不到项目文件“ALL_BUILD”中引用的平台“x64”.请确保已将该平台安装在“%VCTargetsPath%\Platforms\x64”下.无法加载项目. ...

随机推荐

  1. 使用JSP/Servlet技术开发新闻发布系统---JSP数据交互(二)

    JSP内置对象application application对象 JSP常用的内置对象 对象的作用域 作用的分类 对象的作用域 page作用域 实例 //页面1 <% String name = ...

  2. 批量清理harbor镜像

    #! /bin/bash # 通过Harbor提供的API来批量删除镜像,人工删除费时费力 # 经过测试发现,通过接口去删除时提供的是的标签,但实际上删除的时候通过的是镜像的IMAGE_ID,也就是说 ...

  3. &和&&,|和||的用法区别

    &和&&的区别是,&会执行两边,不管第一个是否成立&&只会执行一边,如果第一个条件为假,则不会走第二个条件举例public class Test2{ p ...

  4. html表格按长度换行

    <table style="table-layout:fixed; WORD-BREAK: break-all; WORD-WRAP: break-word; width:200px; ...

  5. msf爆破

    SSH服务口令猜解: msf > use auxiliary/scanner/ssh/ssh_loginmsf auxiliary(ssh_login) > show optionsmsf ...

  6. GreenPlum 数据备份与恢复

    GreenPlum数据备份与恢复gp_dump是GP并行备份的备份工具,在运行gp_dump的时候master与所有的segment节点都开始备份(standby节点和segment节点中的mirro ...

  7. openssl制作双向认证经过验证可行

    openssl制作双向认证经过验证可行 http://www.360doc.com/content/12/0524/15/2150778_213390447.shtml 2012-05-24  履历馆 ...

  8. 扩展kmp学习笔记

    kmp没写过,扩展kmp没学过可还行. 两个愿望,一次满足 (该博客仅用于防止自己忘记,不保证初学者能看懂我在瞎bb什么qwq) 用途 对于串\(s1,s2\),可以求出\(s2\)与\(s1\)的每 ...

  9. Java 8的Time包常用API

    Date.Canlender.SimpleDateFormat类在新的Time包面前几乎没有优势 日期LocalDate,时间LocalTime,日期时间LocalDateTime. 时区ZoneId ...

  10. 树莓派安装配置Nginx+PHP7+MariaDB

    原文地址:http://blog.sina.com.cn/s/blog_150f554f50102yhra.html 一.安装 Nginx 和 PHP7 1.安装Nginx sudo apt inst ...