2010-02-05 2 views
0

타사 dll과 라이브러리를 사용하는 프로젝트를 개발 중입니다. "IBM 정제기"에서 응용 프로그램을 실행하고자 할 때 정적 CRT (LIBCMTD)를 사용하여 프로젝트를 빌드하고 싶습니다. 그러나 타사 라이브러리는 동적 CRT (MSVCRT)를 사용하여 작성됩니다.StaticCRT (LIBCMT (D)) 및 DynamicCRT (MSVCRT (D)) 충돌

이 같은 링크 에러를 범 : MSVCRTD.lib (MSVCR80D.dll) : 오류 LNK2005 : 이미 LIBCMTD.lib (mktime64.obj) MSVCRTD.lib (MSVCR80D.dll)에 정의 __mktime64 : 오류 LNK2005 : __gmtime64 이미 정의한 LIBCMTD.lib (gmtime64.obj) MSVCRTD.lib (MSVCR80D.dll) : 오류 LNK2005 : LIBCMTD.lib (loctim64.obj)에 이미 정의 된 __localtime64

다양한 링커 설정을 시도했습니다. 또한/FORCE : MULTIPLE을 링커 명령 줄에 사용하여 여러 정의를 무시하고 빌드를 만들었습니다. 그렇게했지만 내 응용 stil은 정수기에서 실행할 수 없습니다.

달성하려는 작업을 수행하는 좋은 방법이 있습니까? 필자는 설정을 제어하기 위해 타사 소스 코드를 제어 할 권한이 없습니다. 자신의 DLL이 이미 동적으로 표준 라이브러리에 링크하도록 구성되어, 아무것도 당신의 나머지 부분을 구축하지 않는다 -

감사

그것은 단지 정적 라이브러리를 사용하여 구축해야하는 경우

답변

1

, 당신은 아마 긴 양말을 신기하고 이 프로젝트는 표준 라이브러리에 정적으로 링크 된 버전을 공급할 수있는 공급 업체를 확보 할 수 없다면 변경 될 것입니다.