【问题标题】:C++ - Using environment variable in property sheet for Visual Studio 2010C++ - 在 Visual Studio 2010 的属性表中使用环境变量
【发布时间】:2013-05-28 09:42:50
【问题描述】:

我想建立一个使用 OpenCV 的项目。所以基本上,我必须使用 Visual Studio 2010 中的属性管理器添加一个新的属性表。

基本上,我必须将路径添加到我的includelib 文件夹才能使 OpenCV 正常工作。我想将我的项目放在一个 git 存储库中,并且我不想每次都更改我的属性表中的路径。有没有办法在我的属性表中使用带有 OpenCV 构建文件夹路径的系统变量?如果存在这样做的方法,我可以直接从代码中分配该变量的值吗?喜欢#define 或类似的任务?

【问题讨论】:

    标签: c++ visual-studio-2010 opencv environment-variables


    【解决方案1】:

    可以使用大量有用的宏/属性来构建与项目位置、解决方案相关的路径,例如 $(SolutionPath) 等(当您在配置中编辑文本字段时会列出它们。

    定义机器、安装或用户特定内容的通常位置是位于 $(USERPROFILE)\appdata\local\microsoft\msbuild\v4.0 的 users.props 文件 (Microsoft.cpp..users.props)目录。

    如果您打开一个 .vcxproj,您可以在顶部附近看到它。用它来定义一些目录基本路径作为属性,你可以在以后使用那些像内置的。当然,您也可以使用它来定位 .props 文件并将其导入。

    或者您可以使用它来添加其他条目以直接包含项目。

    【讨论】:

    【解决方案2】:

    属性设置中可用的“宏”实际上是 Visual Studio 添加的环境变量。如果您在用户配置文件中设置环境变量,则可以在属性表中添加使用它们,就像使用 VS 提供的“内置”宏一样。

    例如,我有一个网络硬盘驱动器,其文件夹名为 LIBS,其中包含 Boost、Google Test、Google Mock、Tiny XML 和几十个其他库。我将它安装为驱动器号Z,并在我的用户配置文件中设置了一个名为XTPLIBRARIES 的环境变量,它指向Z:\LIBS。在我的属性表中,我配置了如下所示的包含路径。

    $(XTPLIBRARIES)\boost_1_53_0\boost
    $(XTPLIBRARIES)\gtest-1.6.0\include
    $(XTPLIBRARIES)\tinyxml2

    现在,每当我创建一个新项目时,我只需添加属性表,一切都会按预期工作 - 当然只要设置了环境变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      • 2011-03-04
      • 2011-11-17
      • 1970-01-01
      • 2014-01-21
      相关资源
      最近更新 更多