在Visual Studio 2010中,如何设置VC ++导入目录以便从多台计算机构建项目?例如,我的项目需要使用一个图形库,该图形库安装在我正在使用的两台机器上,但位于不同的路径上。
我想答案是某种宏,但我是Visual Studio的新手,所以我不确定我的直觉是否正确。
我正在从Matlab环境过渡,您可以在其中直接为每台机器设置路径,而不是每个项目。 Visual Studio是否具有此类功能,或者是项目属性级别的所有内容?
答案 0 :(得分:2)
您确实可以使用宏来设置每台计算机的include和lib目录。
如果您的项目目录中有文件,则可以使用:
$(SolutionDir)\
这将指向解决方案目录根目录的完整路径
$(ProjectDir)\
这将指向项目目录根目录的完整路径。
您可以将图形库放在项目目录中,并指向它:
例如, $(ProjectDir)\graphicslib
或您希望将其放入解决方案的任何其他地方。
答案 1 :(得分:1)
使用属性表的层次结构,或使用像CMake这样的工具为您生成项目文件(因为它应该自动找到所有的libs / includes)。
对于属性表:为每个项目添加相同的属性表。使用该属性表,包括具有预定义名称的其他属性表。然后,在您工作的每台计算机上,您将必须提供那些“每台机器”的属性表。例如:
main.vsprops -> include by every project
|- matlab.vsprops -> sets the lib/includes for matlab runtime
|- opengl.vsprops -> sets the lib/include for opengl
现在,在您的版本控制系统中,您为matlab.vsprops和opengl.vsprops提供了一个默认值,其中包含合适的dfeault值和一个批处理文件来创建它们。这样您就可以从VCS签出,运行单个文件,编辑vsprops并开始编码而不会有太多麻烦。例如:
main.vsprops -> versioned
matlab.vsprops.def -> versioned, contains defaults
opengl.vsprops.def -> versioned, contains defaults
create_vsprops.bat -> versioned, copies *.vsprops.def to *.vsprops