2012-04-11 4 views
2

Microsoft Visual Studio 2005 솔루션에서 하위 프로젝트를 개발 중입니다. 하위 프로젝트는 Windows CE 6.0 서비스 (DLL)이며 Windows CE 6.0 OS Project에 포함되어 있습니다. 하위 프로젝트에서 "ceosutil.lib"(svsutil.hxx는 헤더)의 일부 함수를 사용해야하지만 하위 프로젝트에 연결할 수 없습니다. 빌드 할 때 다음 유형의 오류가 발생합니다 : "오류 LNK2019 : 해결되지 않은 외부 기호".프로젝트에 정적 라이브러리를 포함 할 수 없습니다.

재미있는 점은 프로젝트 유형을 정적 라이브러리로 전환하면 문제없이 컴파일된다는 것입니다. 새 DLL 프로젝트 (하위 프로젝트가 아닌 독립 실행 형 프로젝트)를 시작하면이 프로젝트도 작동합니다 ("ceosutil.lib"는 이미 프로젝트 및 모든 구성의 추가 종속성에 나열되어 있습니다).

도와주세요!

답변

2

나는 내 자신의 질문에 대한 답을 찾았습니다. 해결 방법은 하위 프로젝트 속성의 링크 탭에있는 추가 라이브러리 필드에 공백 다음에 라이브러리 이름 ("ceosutil.lib")을 추가하는 것입니다.

MS Visual Studio 2005 : 하위 프로젝트 이름 -> 특성 -> 링크 탭 -> 추가 라이브러리를 누르십시오.

기본값은이었다 $(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib

새로운 값 : $(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib ceosutil.lib

업데이트 : 하위 프로젝트를 열 수도 쉽게 (마우스 오른쪽 BTN은 -> 개방)와 TARGETLIBS에서 라이브러리의 경로를 붙여 섹션. 결과는 정확히 동일합니다 :

TARGETLIBS = \ $ (_ PROJECTROOT) \ CESYSGEN \ SDK \ LIB \ $ (_ CPUINDPATH) \ coredll.lib \

관련 문제