2013-07-20 2 views
3

비주얼 스튜디오 프로젝트를 편집하려면 승화를 사용하고 싶습니다. 나는 사용자 지정 빌드 있습니다Visual Studio 프로젝트에 소스 파일을 명령 줄에서 추가하는 방법이 있습니까?

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

를하지만 새 파일을 추가하는 경우 또한 프로젝트에 포함 할 필요가있다.

컴파일 타임에 명령 줄에서이 작업을 수행 할 수 있습니까?

저는 OpenGL을 사용하여 C++을 사용하고 있습니다.

기본적으로 OpenGL 웹 사이트에 제공된 예제 중 하나를 사용하여 프로젝트를 설정했습니다.

그런 다음 프로젝트 폴더를 숭고한 텍스트로 열고 사용자 지정 빌드 시스템을 사용하여 프로젝트 폴더를 성공적으로 컴파일했습니다.

그러나 프로젝트 (* .h 및 * .cpp)에 새 소스 파일을 추가 할 때 연결 오류가 발생합니다.

Visual Studio에서 빌드 할 때 동일한 오류가 발생합니다.

파일을 수동으로 찾아보고 프로젝트에 추가 한 후에 오류가 사라졌습니다.

내가 원했던 것은 폴더의 모든 소스 파일을 프로젝트에 자동으로 추가하는 방법이었습니다 (명령 줄 또는 와일드 카드 또는 다른 smth를 통해).

이 방법을 사용하면 vs2010 프로젝트를 손쉽게 업그레이드하고 새로운 소스 파일을 추가하고 프로젝트를 빌드 할 수 있습니다.

아니면 여기에 이미 더 나은 워크 플로가 있습니까?

+0

[와일드 카드를 통해 폴더의 모든 것을 포함] (http://stackoverflow.com/a/2587401/205233)은 매번 프로젝트를 수정하는 대신 해결책이 될 수 있습니다. – Filburt

+0

예 .. 전체 폴더를 프로젝트에서 볼 수 있도록 만드는 것이 정확히 필요한 것입니다. 슬프게도 나는 당신의 링크에있는 정보에 대해 약간 압도되어 있다고 느낍니다. 나는 아직도 와일드 카드가 무엇인지, 그리고 와일드 카드를 만드는 과정이 무엇인지 이해하지 못했다. –

+1

많은 항목에서 작업하기 위해 특정 메타 데이터가 필요하기 때문에 쉽지 않습니다. 결국 프로젝트 파일은 XML 일 뿐이므로 모든 XML 조작 도구가이 트릭을 수행해야합니다. 기본적으로''을 삽입해야합니다. 또는 '와 같은 와일드 카드를 사용하십시오. – jessehouwing

답변

6

아래의 프로젝트 폴더에 .h 및 .cpp 파일을 포함하도록 .vcxproj 파일을 수정 해보십시오. 이처럼 .vcxproj 파일을 변경하려고 할 수 프로젝트 VS C++의 경우

:

<?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에 포함시킬 수도 있습니다.

관심이 있으시면이 대안의 예를 추가하겠습니다.

+0

이것은 놀라운 지금까지 소리가 난다. 나는 그것을 바로 지금 줄 것이다 –

+0

그것은 일했다! 정말 고맙습니다. –

+0

항상 기꺼이 도와 드리겠습니다 ;-) MSBuild로 놀라운 일을 할 수 있으며 이와 같은 VS 프로젝트를 확장하는 것은 아주 작은 부분 일뿐입니다. – Filburt

관련 문제