3

我想使用 sublime 来编辑一个 Visual Studio 项目。我有一个自定义版本:

{
   "cmd": ["c:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe"],
    "working_dir": "${project_path:${folder:${file_path}}}/../Project"
}

但如果我添加新文件,我还需要将它们包含在项目中。

有没有办法从命令行执行此操作,也许是在编译时?

我正在使用 c++ 处理 opengl;

我基本上使用 opengl 网站上提供的示例之一设置了一个项目。

然后我在 sublime text 中打开了项目文件夹,并使用自定义构建系统成功编译了它。

但是,当我将新的源文件(*.h 和 *.cpp)添加到项目中时,会出现链接错误。

当我在 Visual Studio 中构建时,我得到了同样的错误。

在我通过手动浏览并将文件添加到项目中包含文件后,错误消失了。

我想要的是一种自动将文件夹中的所有源文件添加到项目中的方法(通过命令行、通配符或其他方式)。

这样我就可以轻松地在 sublime 中处理 vs2010 项目,添加新的源文件并构建项目。

或者也许已经有更好的工作流程了?

4

1 回答 1

6

您可以尝试修改您的 .vcxproj 文件以在您的项目文件夹或下面的文件夹中包含任何 .h 和 .cpp 文件。

如果是 c++ VS 项目,您可以尝试更改 .vcxproj 文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <!-- rest of project file untouched -->

    <!-- start of modified part -->

    <ItemGroup>
        <ClInclude Include="**\*.h" />
    </ItemGroup>
    <ItemGroup>
        <ClCompile Include="**\*.cpp" />
    </ItemGroup>

    <!-- end of modified part -->

    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
    <ImportGroup Label="ExtensionTargets">
    </ImportGroup>
</Project>

请注意,稍后从 VS 内部向项目添加文件将取代上述修改!

作为替代方案,您还可以创建一个<ItemGroup />包含上述相同元素的外部项目文件,并将此项目文件包含到您的 .vcxproj 中。

如果您有兴趣,我将添加此替代方法的示例。

于 2013-07-22T20:21:49.477 回答