인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jeonsh95님의 프로필 이미지
jeonsh95

작성한 질문수

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

Windows 프로젝트 만드는 방법

해결된 질문

작성

·

672

·

수정됨

0

안녕하세요~ IOCP까지 강의를 들으면서 예제들을 다운로드 하면서 실행하고 이해하고 하였습니다. 예제들인, Windows 프로젝트를 다운로드해서 실행하는 방식 말고, 직접 손 코딩이 하고 싶어 만들려고 하니, 오류도 나고 뭐가 뭔지 잘 모르는 부분이 있어 남겨봅니다. 일단 저가 시도 한 부분 적어보고, 수정해야 할 부분 피드백 부탁드립니다.

(아니면 그냥 순차적으로 전체적으로 하는 방법 설명해주셔도 됩니다.^^)

첫번째로. Windows 데스크 톱 마법사에서 데스크톱 애플리케이션 미리 컴파일된 헤더만 클릭하였습니다.

두번째로 미리 컴파일된 헤더 추가하는 방법 링크 https://hungrysoul9.github.io/2019/09/26/add-vs-pre-complied-header/ 처럼 stdafx.cpp 추가하고 stdafx.h 해서 뭘 어떻게 해야되는지 모르겠고,

->여기서 조금 헤더파일 pch관련된 부분 수정하고 ctrl+f5 누르면

(

심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태

오류 LNK2019 WinMain@16"int _cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 함수에서 참조되는 확인할 수 없는 외부 기호 IOCP_chat D:\C++\IOCP_chat\MSVCRTD.lib(exe_winmain.obj) 1

오류 LNK1120 1개의 확인할 수 없는 외부 참조입니다. IOCP_chat D:\C++\IOCP_chat\Debug\IOCP_chat.exe 1

)

다음과 같은 오류가 뜹니다..

따라서 ->https://pang2h.tistory.com/156

링크를 참조해서 속성 링커에 시스템에 하위 시스템을 콘솔 또는 지우니까 해결이 되었는데,,,

이렇게 만들어 지는 건가요?

해결이 되었다면 되었는데,,

C/C++과는 다르게 Windows 프로그래밍은 처음이라,, 어떻게 프로젝트를 만들어야 하는지 정리 한번 부탁드립니다. 또는 맞게 잘 하였다면,, 피드백 부탁드립니다. 감사합니다.

(질문 등록하고 수정하고 한 글입니다...^^)

 

답변 1

1

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

  1. Visual Studio 2022 실행 후 인트로 화면에서 '새 프로젝트 만들기' 선택

  2. 프로젝트 템플릿에서 Windows 데스크톱 마법사 템플릿 선택

  3. 새 프로젝트 구성에서 적절한 프로젝트 이름을 입력하고 '만들기' 버튼 클릭

  4. Windows 데스크톱 프로젝트 대화상자에서 애플리케이션 종류는 '콘솔 애플리케이션(.exe)를 선택하고 추가 옵션에서 '미리 컴파일된 헤더' 항목 체크

  5. 생성된 코드가 다음과 같은지 확인

#include "pch.h"
#include <iostream>

int main()
{
std::cout << "Hello World!\n";
}

 

VS 2022에서 미리 컴파일된 헤더는 stdafx.h가 아니라 pch.h 입니다. 소켓 프로그래밍에 제공된 예제들은 제가 오래 전에 작성해둔 것이라 stdafx.h가 있는 것입니다. 2023년 현재 미리 컴파일된 헤더는 pch.h 입니다.

그리고 WinMain@xxxxxx 링크오류가 난 것은 윈도우 애플리케이션으로 프로젝트를 생성한 후 WinMain() g함수를 삭제해서 발생한 것입니다. 참고하시기 바랍니다. 감사합니다.

 

 

jeonsh95님의 프로필 이미지
jeonsh95

작성한 질문수

질문하기