2013-06-01 68 views
2

我想设置一个使用OpenCV的项目。所以基本上,我必须使用Visual Studio 2010中的属性管理器添加新的属性表。C++ - 在Visual Studio 2010属性表中使用环境变量

基本上,我必须将路径添加到我的includelib文件夹以使OpenCV正常工作。我想把我的项目放在一个git仓库中,而且我不想每次都更改属性表中的路径。有没有在我的属性表中使用系统变量的方式与OpenCV的生成文件夹的路径?如果存在这样做的方法,我可以直接从代码中分配该变量的值吗?像#define或类似的作业?

回答

2

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

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

如果你打开一个.vcxproj,你可以看到它包含在靠近顶端的位置,用它来定义一些目录基路径作为属性,你可以在后面使用类似于内建路径的路径,当然你也可以使用找到.props文件a nd导入。

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

+0

现在,Microsoft建议使用'$(USERPROFILE)\ appdata \ local \ microsoft \ msbuild \ v4.0'中的'user.props':https://msdn.microsoft.com/en-us/ library/669zx6zc.aspx - 其他建议? –

2

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

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

$(XTPLIBRARIES)\ boost_1_53_0 \提振
$(XTPLIBRARIES)\ GTEST-1.6.0 \包括
$(XTPLIBRARIES)\ tinyxml2

现在任何时候我创建一个新项目我只是添加属性表,一切按预期工作 - 只要环境变量设置为当然。

相关问题