我有一组属性表,为我的c++项目中常用的第三个部分库定义了包含路径和链接路径。当我在调试器中启动二进制文件时,是否也可以在这些页面中为可执行文件定义路径?
编辑:我注意到如果我将以下内容添加到属性表中(通过记事本)
<PropertyGroup>
<VCRedistPaths>c:\path\bin\$(Platform);$(VCRedistPaths)</VCRedistPaths>
</PropertyGroup>然后我得到c:\ path \bin\bin 32(例如,)在调试器下运行应用程序时附加的路径,但这里的问题是,visual studio无法立即检测到我的更改(如果我更改属性表中的路径或用另一条路径追加另一个属性表),并且我必须重新启动visual studio以进行拾取更改。有人知道这是否有可能避免吗?
发布于 2013-05-26 02:33:59
下面是一个在VS2010中为我工作的示例属性表:
mysheet.props
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LocalDebuggerEnvironment>PATH=%MYLIB_ROOT%\bin;%PATH%$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(MYLIB_ROOT)\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(MYLIB_ROOT)\lib</AdditionalLibraryDirectories>
<AdditionalDependencies>mylib.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>通过手动设置项目属性中的PATH环境变量,我获得了使用LocalDebuggerEnvironment的想法:

此更改反映在*.vcxproj.user项目选项文件中,然后我将其复制到自己的属性表中。
HTH
发布于 2012-10-28 14:43:07
不知道你说的是什么类型的属性页面。它不能由项目属性表设置,它是一个调试设置。项目+属性、调试、环境设置。把它设置成,比如说,
path = c:\foo;c:\bar并将它们合并到系统环境的路径变量的值中。
请注意,一般情况下,依靠这条路并不是一种好的做法。您将需要创建一个安装程序,以确保用户的计算机具有正确的路径值。需要重新启动才能确保其生效。而且它很容易被那些跟在你后面的粗劣的安装程序破坏。
更好的方法是使用post build事件使用xcopy /d将所需的DLL复制到$(TargetDir)中。
https://stackoverflow.com/questions/13109169
复制相似问题