C ++ 프로젝트와 함께 T4 코드 생성 템플릿을 사용하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/496214

  •  20-08-2019
  •  | 
  •  

문제

T4 템플릿 파일은 C# 프로젝트에 따라 IDE에서 자동으로 인식 할 수 있지만 C ++ 프로젝트 (Make Files 사용을 사용하는 것 외에)에 어떻게 통합 될 수 있는지에 대한 단서가 없습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

T4 템플릿 파일은 C ++ 프로젝트에 통합 될 수 있지만 C#/VB 프로젝트보다 조금 더 작동합니다. C ++ 프로젝트에서 새 텍스트 파일을 만들고 .tt 확장자를 제공하십시오. 그런 다음 템플릿을 정상적으로 작성하십시오. 그런 다음 C ++ 프로젝트는 템플릿을 변환하기 위해 추가 작업이 필요합니다. 내가 작동하는 빠르고 더러운 방법은 사용자 정의 빌드 단계를 추가하고 "c : program files common files microsoft shared textTemplating 1.1 texttransform.exe"를 직접 호출하는 것이 었습니다. 내가 찾은 또 다른 방법은 사용자 정의 MSBuild 작업을 추가하는 것이 었습니다. 지침을 찾을 수 있습니다 여기

이것 페이지에는 더 많은 정보와 T4 코드 생성 사용에 대한 다른 페이지에 대한 좋은 링크가 있습니다.

다른 팁

MSBuild 작업은 VCPROJ 파일 (C ++)이므로 VCBuild가 사용되므로 작동하지 않습니다. TT 컴파일을 얻는 가장 쉬운 방법은 아래와 같은 맞춤형 빌드 단계를 추가하는 것입니다.

"C:\Program Files (x86)\Common Files\Microsoft Shared\TextTemplating\1.1\TextTransform.exe" -out "$(ProjectDir)\VSProject.cpp" -I "$(ProjectDir)" "$(ProjectDir)\VSProject.tt"

위의 MSBuild 작업 솔루션을 조사하는 데 몇 시간을 보냈으며 관리 코드에는 꽤 좋지만 C ++에 사용하는 방법을 볼 수 없습니다 (VCPROJ를 CSPROJ EEK로 변환하는 막대).

Visual Studio 2017 (및 2015 년?)

다른 답변에 나열된 명령은 파일로 부분적으로 부정확합니다. TextTransform.exe 새 디렉토리로 옮겨졌습니다 devenv 루트 폴더, 예를 들어 :

C:\Progra~1\Visual Studio 2017\Enterprise\Common7\IDE

이제 명령이 다음으로 업데이트되어야합니다.

"$(DevEnvDir)TextTransform.exe" -out "$(ProjectDir)xxx.cpp" "$(ProjectDir)xxx.tt"

어디 xxx Yout의 파일 이름입니다 .tt 템플릿 파일

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top