해결된 질문
작성
·
77
·
수정됨
0
루키스님 안녕하세요?
vs 2022에 맞춰서 IOCP 구축연습 밑바닥 부터 하고있습니다.
역시 환경 설정부터 난관이었는데요,
ServerCore의 .lib파일을 GameServer가 못찾습니다 (ServerCore 빌드까지는 됩니다)
강의 몇번을 돌려봐도 안되길래 좀 찾아보니까
pch.h에 절대 경로를 넣어서 찾아주거나(근데 이건 아니다 싶어서)
#ifdef _DEBUG
#pragma comment(lib, "C:\\CppGameServer25\\CppGameServer25\\GameServer\\Libraries\\Debug\\ServerCore.lib")
#else
#pragma comment(lib, "Release\\ServerCore.lib")
#endif
강의에서 더해서 GameServer의 추가 라이브러리 디렉토리를 설정해줘야지만 .lib 파일을 찾고 GameServer가 빌드할 수 있었습니다.
일단 되니까 다행이긴 한데,
됐으니까 장땡인지, 아니면 제가 경로 설정? 환경 설정?등 알아둬야 하거나 놓친 것이 있는지 조언 구하고 싶습니다.
왜 강의대로만 하면 안되고 추가 라이브러리 디렉터리를 설정해줘야지만 빌드가 되는지 원리에 대해 궁금합니다.
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
mhyim님이 겪고 계신 문제는 Visual Studio 환경 설정에서 자주 발생할 수 있는 문제 중 하나입니다. 특히, 프로젝트 간의 의존성 설정이나 라이브러리 경로 설정에 따른 오류가 발생할 수 있습니다.
절대 경로 사용: 절대 경로로 라이브러리를 지정하는 방법은 임시 해결책일 수 있지만, 프로젝트를 다른 컴퓨터로 옮길 때 문제가 될 수 있습니다. 따라서 상대 경로를 사용하는 것이 좋습니다.
추가 라이브러리 디렉터리 설정: $(SolutionDir)\Libraries\Debug
와 같은 형태로 상대 경로를 사용하시는 것은 올바른 방법입니다. 이 설정은 프로젝트 구성에 따라 필요한 라이브러리를 참조하는 데 필수적입니다.
프로젝트 속성 확인: 프로젝트 속성에서 C/C++에서 “전체 경로 포함” 옵션을 사용하지 않도록 하고, 시스템에 맞는 라이브러리 설정이 올바르게 되어 있는지 확인하세요.
빌드 구성 체크: 디버그와 릴리스 모드 모두에 대해 추가 라이브러리 디렉터리 설정이 올바르게 되어 있는지 확인하세요.
Windows 환경 변수 활용: 환경 변수 설정을 활용하여 프로젝트의 경로 설정을 효율적으로 관리할 수 있습니다. 예를 들어, $(ProjectDir)
나 $(SolutionDir)
같은 매크로 변수를 잘 활용하시면 좋습니다.
관련 질문이 많이 나왔던 것 같습니다. 유사 질문들을 참고해 보시면 도움이 될 수도 있습니다:
- 환경설정 이해하기
- LNK1104 ‘Debug\ServerCore.lib’ 파일을 열 수 없습니다. 에러 질문
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.