2012-08-30 4 views
2

다른 정적 라이브러리에서 Abaqus ODB C++ API 정적 라이브러리를 링크해야합니다. 이것을 "작동"시킬 수는 있지만 많은 링커 경고를받습니다. 모든 경고는 LNK4006 및 LNK4221이며 API 라이브러리에 관련됩니다.정적 라이브러리를 다른 정적 라이브러리에 연결

주 프로젝트에서 결과 정적 라이브러리를 연결하고 싶습니다. 나는이 작업을 수행 할 때 응용 프로그램이 시작이 불분명 한 경우 나에게 The application was unable to start correctly 0xc000007b.

과 같은 메시지를 제공합니다 API Lib ->MyProj Lib ->MainProj


아래 바울 대답을 참조하십시오. 정적 라이브러리를 이와 같이 중첩시킬 수는 없으며 꼭 필요한 경우 연결 단계에 대해 자세히 알아야합니다. 대신, 주요 프로젝트는 종속 정적 라이브러리를 모두 연결해야합니다.

답변

4

"라이브러리에 라이브러리 포함"할 수 없습니다. 두 라이브러리를 응용 프로그램에 연결하면 이미 수행 한 것입니다. C++ 프로그램의 일반 규칙을 따라하면됩니다 : 심볼의 정의는 하나만 허용되며 잠재적 인 이름 충돌을 방지해야합니다.

+0

하나가 다른 프로젝트에 종속되어 있어도 두 프로젝트 라이브러리를 모두 포함시킬 수 있습니까? 심볼의 정의는 하나만 허용된다는 것을 이해합니다. API 라이브러리는 canned입니다. – Derek

+1

아니요, 두 라이브러리를 주 프로젝트에서 생성 된 프로그램에 연결해야합니다. VS에서는 "실행 가능한"프로젝트 유형을 만들고 두 라이브러리를 모두 "참조"로 설정합니다. –

+0

'MyProj Lib'은'API Lib'에 의존합니다. 'MainProj'에서 두 항목을 연결할 수는 있지만'MyProj Lib'을 빌드 할 때 어떻게 작동합니까? – Derek

관련 문제