Visual Studio 2008 环境变量、工作目录、vc++目录、 命令等 的配置和作用
2012-07-12 10:14
323 查看
在调试 Visual Studio 2008 程序时,经常有一些动态链接库(即 dll 文件)需要加载到工程里,这样才能依赖第三方库进行程序调试。
这些动态链接库,往往都是测试版本或是开发中的版本,或者会有若干个版本;这个时候,如果直接把 dll 所在目录加到 PATH 里,则会有潜在冲突的危险;如果直接拷贝到 Visual Studio 的目录下,假如测试工程太多,每次有新版本的动态链接库更新时,你需要更新若干次,拷贝、粘贴苦不堪言。
在开发过程中,究竟怎样来让 Visual Studio 链接这些 lib 及 dll 文件会比较好呢?
总体上来说,有几种方法可以改变 Visual Studio 的环境变量设置:
直接添加到系统的 PATH 变量里:
这个方法最简单,也最直接,但是坏处是会影响全局的 PATH 设置,尤其是你包含着大量测试用的 dll 时。
在 Visual Studio 全局设置里,把 dll 所在目录添加到 PATH 里:
通过 Visual Studio 菜单 ==> 工具 ==> 选项 ==> 项目和解决方案 ==> VC++目录,在下拉框里选择"可执行文件",然后把 dll 所在路径添加进去。
直接把所有 dll 拷贝到 Visual Studio 工程目录下,或是拷贝到生成可执行文件的文件夹(默认情况下是 Debug 或 Release 目录)下:
这个方法也很简单,但是当你有若干个工程时,你每次更新 SDK 及其 dll 文件,你就要把所有的工程都更新,这个不符合文件唯一性的工程性准则。
在调试程序时,让 Visual Studio 帮你切换当前工作目录到 dll 相应的目录下:
在 Visual Studio ==> Project ==> Properties ==> Select Configuration ==> Configuration Properties ==> Debugging ==> Working directory 里填上 dll 所在目录,这样当在调试程序时,Visual Studio 会把当前工作目录切换到这个目录下,从而会自动读取本目录下的 dll 文件。
这个方法的优点很明显,简单!副作用也很明显,在你切换了当前工作目录后,你可能会找不到程序的配置文件,在程序里写的诸如"./config.ini"全部都找不到了;另外,你要把所有的 dll 都放到这个工作目录里,否则一样会提示说找不到 xxx.dll 的问题。
最后一个方法,也是我认为最好的一个方法,在 Visual Studio 工程属性里把一个目录临时添加到 PATH 环境变量里:
MSDN 上也有类似的介绍:How to: Set Environment Variables for Projects,方法很简单,在 "工程属性" ==> "调试" ==> "环境"里,添加类似如下所示的内容:
这样就可以把 $(TargetDir)\DLLS 临时添加到该工程所属的系统 PATH 里。
大家可以根据项目的实际情况,灵活选用以上方法。
注:本文撰写时参考了 StackOverflow 上的讨论话题:How do I set a path in visual studio?
这些动态链接库,往往都是测试版本或是开发中的版本,或者会有若干个版本;这个时候,如果直接把 dll 所在目录加到 PATH 里,则会有潜在冲突的危险;如果直接拷贝到 Visual Studio 的目录下,假如测试工程太多,每次有新版本的动态链接库更新时,你需要更新若干次,拷贝、粘贴苦不堪言。
在开发过程中,究竟怎样来让 Visual Studio 链接这些 lib 及 dll 文件会比较好呢?
总体上来说,有几种方法可以改变 Visual Studio 的环境变量设置:
直接添加到系统的 PATH 变量里:
这个方法最简单,也最直接,但是坏处是会影响全局的 PATH 设置,尤其是你包含着大量测试用的 dll 时。
在 Visual Studio 全局设置里,把 dll 所在目录添加到 PATH 里:
通过 Visual Studio 菜单 ==> 工具 ==> 选项 ==> 项目和解决方案 ==> VC++目录,在下拉框里选择"可执行文件",然后把 dll 所在路径添加进去。
直接把所有 dll 拷贝到 Visual Studio 工程目录下,或是拷贝到生成可执行文件的文件夹(默认情况下是 Debug 或 Release 目录)下:
这个方法也很简单,但是当你有若干个工程时,你每次更新 SDK 及其 dll 文件,你就要把所有的工程都更新,这个不符合文件唯一性的工程性准则。
在调试程序时,让 Visual Studio 帮你切换当前工作目录到 dll 相应的目录下:
在 Visual Studio ==> Project ==> Properties ==> Select Configuration ==> Configuration Properties ==> Debugging ==> Working directory 里填上 dll 所在目录,这样当在调试程序时,Visual Studio 会把当前工作目录切换到这个目录下,从而会自动读取本目录下的 dll 文件。
这个方法的优点很明显,简单!副作用也很明显,在你切换了当前工作目录后,你可能会找不到程序的配置文件,在程序里写的诸如"./config.ini"全部都找不到了;另外,你要把所有的 dll 都放到这个工作目录里,否则一样会提示说找不到 xxx.dll 的问题。
最后一个方法,也是我认为最好的一个方法,在 Visual Studio 工程属性里把一个目录临时添加到 PATH 环境变量里:
MSDN 上也有类似的介绍:How to: Set Environment Variables for Projects,方法很简单,在 "工程属性" ==> "调试" ==> "环境"里,添加类似如下所示的内容:
PATH=%PATH%;$(TargetDir)\DLLS
这样就可以把 $(TargetDir)\DLLS 临时添加到该工程所属的系统 PATH 里。
大家可以根据项目的实际情况,灵活选用以上方法。
注:本文撰写时参考了 StackOverflow 上的讨论话题:How do I set a path in visual studio?
相关文章推荐
- Visual Studio 2008 环境变量、工作目录、vc++目录、 命令等 的配置和作用
- Visual Studio 2012环境变量、工作目录、vc++目录、 命令等 的配置和作用
- Visual Studio 2008 环境变量的配置
- Visual Studio 2008 环境变量的配置(参考设置VS2010)
- Visual Studio 2008 环境变量的配置
- linux 命令系列之 环境变量配置文件作用(52)
- Visual Studio环境变量、工作目录、vc++目录、 命令等 的配置和作用
- JAVA第一步工作 classpath、path、JAVA_HOME的作用及JAVA环境变量配置等
- Visual Studio 2008 环境变量的配置
- Visual Studio 2008 环境变量的配置
- Visual Studio 2008 环境变量的配置(dll加载方式) [转]
- Visual Studio 2008 环境变量的配置(参考设置VS2010)
- Visual Studio 2008 环境变量的配置
- centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl+z 暂停命令,Ctrl+a 光标到行首,Ctrl+e 光标到行尾,Ctrl+u 删除光标前所有字符 Ctrl+r 搜索命 hash命令 Ctrl+左箭头/右箭头 cd命令 第三节课
- 【转载】classpath、path、JAVA_HOME的作用及JAVA环境变量配置
- 安装完exe版本jdk之后未配置java_home和path环境变量仍然可以在cmd中使用java命令原因解释
- VISUAL STUDIO 2008环境下的CUDA配置(cuda toolkit 4.0)
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- JDK环境变量配置及常用Java命令
- JDK安装完成后,配置完环境变量还是会出现javac不是内部命令