![](/img/trans.png)
[英]Configure VS2010 to build a C++ project to a reasonably clean output directory?
[英]Changing output directory in VS2010 project doesn't work
我已经将多个项目合并为一个解决方案。 我创建了一个空解决方案并添加了这些项目,这是其外观的蓝图:
Root:
Project1 - directory
Project2 - directory
Debug - directory
Main.sln - file
现在,我想将两个项目中的可执行文件和dll定向到解决方案文件显示的\\ debug文件夹中。 我进入项目属性>>配置属性>>常规>>“输出目录”,然后将output directory
更改为$(SolutionDir)$(Configuration)\\
,这是新项目的默认目录。
问题在于它对创建输出文件的位置没有影响,但仍在旧目标中创建它。 “输出目录”的旧路径是。\\ Debug \\,但这并不重要。
可能是因为未定义SolutionDir
和Configuration
吗? 在哪里可以看到它们的定义或值? 我还想创建一个新配置,即“使用调试发布”,如何使用环境变量创建该配置? 谢谢!
我的项目是MFC / Visual C ++。
加载项:脚本中这些类似于SolutionDir
标识符在哪里定义? 我在.vcxproj文件中查找,但有提及。 我创建一个新的虚拟VS2010项目只是为了查看它的.vcxproj文件,但是在我所看到的任何地方都没有定义这些确定的项目设置!
这很可能是由覆盖全局设置的特定设置(即链接器的“输出”设置)引起的。 这通常是由于从早期的Visual Studio进行转换而导致的。
您需要经过所有设置,注意那些以粗体显示的值,然后使用“调试”或“释放”将所有设置重置为默认值(从下拉列表中选择),并根据需要重置其他设置。
文件上也可能有特定设置。 我通常通过在记事本中打开项目并删除所有多余的设置来解决此问题。 请注意。 在Notepad ++或任何其他功能强大的编辑器中使用多行替换有帮助。
我的一个VS2010项目中的“中间目录”设置也有类似的问题。 无论我将其设置为什么,它将始终使用$(SolutionDir)$ Configuration的默认值。 奇怪的是,相同解决方案中具有相同设置的其他项目也可以正常工作。
玩了之后,我偶然发现了一个解决方案。
我不知道为什么会这样,但是可以。 似乎无论出于何种原因都没有对宏进行适当的评估。 然后,在应用继承的值之后,它似乎会重置自身并开始正确评估宏。
我想我也有类似的问题。
我最终要做的是直接编辑vcxproj文件。 找到此部分,并为您的每个配置进行如下编辑:
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
</PropertyGroup>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.