我想建立一个使用 OpenCV 的项目。所以基本上,我必须使用 Visual Studio 2010 中的属性管理器添加一个新的属性表。
基本上,我必须添加我的include
和lib
文件夹的路径才能使 OpenCV 正常工作。我想将我的项目放在一个 git 存储库中,并且我不想每次都更改我的属性表中的路径。有没有办法在我的属性表中使用带有 OpenCV 构建文件夹路径的系统变量?如果存在这样做的方法,我可以直接从代码中分配该变量的值吗?喜欢#define
或类似的任务?
我想建立一个使用 OpenCV 的项目。所以基本上,我必须使用 Visual Studio 2010 中的属性管理器添加一个新的属性表。
基本上,我必须添加我的include
和lib
文件夹的路径才能使 OpenCV 正常工作。我想将我的项目放在一个 git 存储库中,并且我不想每次都更改我的属性表中的路径。有没有办法在我的属性表中使用带有 OpenCV 构建文件夹路径的系统变量?如果存在这样做的方法,我可以直接从代码中分配该变量的值吗?喜欢#define
或类似的任务?
属性设置中可用的“宏”实际上是 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
现在,每当我创建一个新项目时,我只需添加属性表,一切都会按预期工作——当然,只要设置了环境变量。
可以使用大量有用的宏/属性来构建与项目位置、解决方案相关的路径,例如 $(SolutionPath) 等(当您在配置中编辑文本字段时会列出它们。
定义机器、安装或用户特定内容的通常位置是位于 $(USERPROFILE)\appdata\local\microsoft\msbuild\v4.0 目录的 users.props 文件 (Microsoft.cpp..users.props)。
如果您打开一个 .vcxproj,您可以在顶部附近看到它。用它来定义一些目录基本路径作为属性,你可以在以后使用那些像内置的。当然,您也可以使用它来定位 .props 文件并将其导入。
或者您可以使用它来添加其他条目以直接包含项目。