이 문제는 매우 간단한 사실을 알지 못한채 생겼던 문제였다.

1개의 솔루션 내에 3개의 프로젝트가 있었다.
3개의 프로젝트 A_project ... C_project 라고 했을 때.

A_project 에는 pragma comment(lib, "../lib/lua5.1.lib")
B_project 에는 pragma comment(lib, "../loost/lib/loost.lib")
C_project 에는 pragma comment(lib, "../lib/lua5.1.lib")

이렇게 작업 하던 중이였다.


C 프로젝트로 컴파일 하는 과정중 B 프로젝트의 loost.lib 를 찾을 수 없다는 경고가 나왔다. 아무리 상대 주소를 생각해 봐도 B 프로젝트 입장에서 보면 ../loost/lib/loost.lib 가 절대적으로 맞았다.

이 문제를 해결하기 위해 인터넷에서 검색하는 중 외국의 어떤사람도 이런 문제가 있었는데 무슨 문제이냐? 라고 질문을 올렸었는데, 답변 중에, "다중 프로젝트에서 생길 수 있는 문제"라고 한글로 번역된 글을 보았다. : )

그런데 정작, 해결 방법은 나와 있지 않았다.

.. 결국 혹시 프로젝트가 컴파일 되는 그 자신의 기준으로 보는게 아닐까? 라는 생각으로,

컴파일 되는 프로젝트의 입장에선 본 상대경로로 위치를 지정해 주었다.

문제 해결..


요약

비주얼 스트디오의 다중 프로젝트 진행시 각 프로젝트의 각 라이브러리 링크에 있어, 정확한 상대 경로를 지정해 준다 해도 라이브러리를 찾지 못해 컴파일이 되지 않을때, 컴파일 하고자 하는 해당 프로젝트 기준으로 라이브러리의 경로를 바꾸면, 문제를 해결 할 수 있다고 요약 할 수 있겠다.
신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요