您好,匿名用户
随意问技术百科期待您的加入

如何设置工程无关的 VC++ Directories

0 投票

前提:有一个放在 Git 上的 Visual C++ 2012 Express 工程,需要引用外部的 libcurl 库(没有包含在版本库中)。

当前使用的引用的方法是在工程属性 VC++ Directories 里的 Include DirectoriesLibrary Directories 添加我机器上的相应路径(D:\libcurl\XXX)。但这样一来,这个路径就保存在了 .vcxproj 工程文件里。

如果别人的 libcurl 路径与我不同,那么他 clone 后想要成功编译工程只能:

  1. 修改工程属性中的路径(工程文件变为被修改的状态,潜在的冲突/强迫症)
  2. 把自己的 libcurl 放到 D:\libcurl\XXX(不灵活,强制指定了路径)

于是我的问题是:如何修改 VC++ Directories 设置才能避免这种情况?

(如果是 Visual C++ 2008 之前的版本,那么可以在 Tools->Options 里设置全局的 VC++ Directories。从而可以不修改工程文件,而是把自定义的外部库路径加到自己的全局设置里。但新版本中已经没有办法这样做了。)

用户头像 提问 2012年 12月1日 @ Nidalee 上等兵 (346 威望)
分享到:

1个回答

0 投票
 
最佳答案

一般的做法是定义成环境变量,比如
LIBCURL_INCPATH
LIBCURL_LIBPATH

然后加入工程路径
$(LIBCURL_INCPATH)
$(LIBCURL_LIBPATH)

当然直接修改vcxproj也不大好, 所以最好用Property Manager, 放到一个.props的文件中,比如:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <IncludePath>$(LIBCURL_INCPATH);$(IncludePath)</IncludePath>
    <LibraryPath>$(LIBCURL_LIBPATH);$(LibraryPath)</LibraryPath>
  </PropertyGroup>
</Project>

另外,如果会CMake, GYP之类的工具, 就简单多了,工程文件直接生成就行了。

用户头像 回复 2012年 12月1日 @ Karma 上等兵 (229 威望)
选中 2012年 12月1日 @Nidalee
提一个问题:

相关问题

+1 投票
1 回复 35 阅读
用户头像 提问 2012年 12月1日 @ Trundle 上等兵 (301 威望)
0 投票
1 回复 38 阅读
用户头像 提问 2013年 10月4日 @ 末日姐 上等兵 (172 威望)
+2 投票
1 回复 55 阅读
0 投票
1 回复 9 阅读
0 投票
1 回复 39 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...