할껀하고놀자
[Win32] visual studio 2017에 c++ winforms 창 띄우기 본문
visual studio 2017버전에서는 winform을 아무리 찾으려고 해도 찾을 수가 없었습니다. 삽질을 많이 하고 구글링을 이곳 저곳 많이 해본 결과 방법을 드디어 찾게 되었습니다.
1. 우선 visual studio ctrl + shift + n 키를 누르신 후 새 프로젝트를 만들어봅니다. (필자는 여기에서 c#만 winform이 지원이 되어있고, c++은 winforms가 지원이 되지 되지 않아 매우 삽질을 많이 했습니다. 그래서 우선 아무것도 모르시는 분들을 위해 여기에 대한 해결책부터 알아봅시다.)
처음 프로젝트를 만들면 이 CLR 조차 없는 경우가 있습니다. 그 때는 이름 위에 있는 visual studio 설치 관리자를 열어줍니다.
여기서 이 패키지를 설치해 주시면 CLR이 설치가 되는 것을 확인하실 수 있습니다. 간단하지만 모르면 winforms가 어디있지..? 하면서 찾으시다가 winform창을 띄워보지도 못한 채 포기하실 수도 있습니다.. 저같은 사람이 더이상 나오지 않기를 바라며 이 글을 올립니다.
2. 자 다시 본론으로 돌아와서, 패키지를 설치하시면 CLR 빈 프로젝트를 실행하실 수 있게 되었습니다. 이름은 아무렇게나 마음에 들게 지어주시고, 확인을 눌러주시면 실행됩니다.
3. project2 우클릭 후 속성을 눌러주세요
4. 속성창에서 다룰 내용은 두가지입니다. 먼저, 링커-> 시스템 -> 하위시스템을 창모드로 바꾸어 줍니다. 이건 체크박스에서 선택할 수 있는 것입니다.
5. 다음으로는 고급 텝으로 가셔서 진입점을 Main으로 작성해 줍니다. 이건 타이핑으로 작성하시는 겁니다. 다 수정하셨다면 적용 클릭, 확인 클릭하셔서 설정 변경을 완료해주세요.
6. 다시 project2 우클릭 -> 추가 -> 새항목 클릭하시던지 단축키 ctrl + shift + a 클릭하셔서 새 항목 창을 띄워줍니다. 그 후 UI 텝의 windows From을 클릭 후 확인버튼 클릭!!
7. 오류가 나왔습니다!
위치: Microsoft.VisualStudio.Designer.Interfaces.IVSMDCodeDomProvider.get_CodeDomProvider() 위치: Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_Provider()위치: Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit() 위치: Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) 위치: Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload) |
대충 이런 오류인데요, 당황하지 않고~ 오류를 해결해 보도록 하겠습니다.
8. MyFrom.cpp로 가셔서 다음과 같이 입력해 주시기 바랍니다. 중간에 빨강색 동그라미는 자신의 프로젝트 이름을 나타냅니다. 오타 없이 입력하신 후 저장하기 눌러주세요.
using namespace System;
using namespace System::Windows::Forms;
[STAThreadAttribute]
void Main(array<String^>^ args) {
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Project2::MyForm form;
Application::Run(%form);
}
9. 저장 후 visual studio 를 껏다가 다시 켜줍니다. 아래와 같이 오류가 해결되어 정상적인 윈폼이 띄워진 것을 볼 수 있습니다. 이제 걸음마를 뗄 수 있게 되었습니다!!
'[IT]' 카테고리의 다른 글
[SW역량테스트준비] 아기상어 (0) | 2019.10.13 |
---|---|
[C++]define와 typedef의 차이점 (0) | 2018.02.15 |
[Win32] visual studio 2017에 c++ winform 도구상자 띄우기 (7) | 2018.02.11 |
OpenSSL와 SSL 인증서 관련 용어정리 (1) | 2018.02.07 |
[Win32] 비주얼 스튜디오 2017에서 win32 실행하기 (0) | 2018.02.03 |