2011-09-29 5 views
0

여기 내 딜레마가 있습니다. 프로젝트의 .dll 버전을 만들려고합니다. 이 프로젝트는 현재 디버그 .lib으로 빌드 된 V8 및 CURL 라이브러리를 사용합니다. 나는 그들 모두를 DLL에 담아 공유하고 싶다. (나는 __declspec(dllexport)로 코드를 변경해야한다는 것을 이해한다.하지만 그것은 별개의 문제이다)..dll과 .lib를 연결할 수 있습니까?

V8 및 CURL 라이브러리를 DLL로 컴파일해야합니다. 그럼 어떻게 든 내 자신의 DLL에서 래핑하십시오.

+0

아니요, 정적 v8과 컬링 .libs를 연결하면 코드가 dll에 포함됩니다. –

+0

내가 할 때,/MDd/DLL을 사용하여 프로젝트를 구축하면 'LIBCMTD.lib (invarg.obj) : 오류 LNK2005 : __invalid_parameter가 이미 MSVCRTD.lib (MSVCR90D.dll)에 정의되어 있습니다'라는 오류가 발생합니다. V8과 CURL을 DLL로 컴파일해야합니다. 어떤 제안? –

+0

아니요, 동일한 컴파일러 설정으로 정적 라이브러리를 다시 컴파일하면됩니다./MD가 필요하므로 CRT 버전을 혼합하는 것은 지원되지 않습니다. –

답변

0

CURL 라이브러리에 .lib이없고 .dll이없는 경우 가장 확실한 정적 라이브러리입니다. DLL에 링크하면이 라이브러리의 코드가 DLL에 링크됩니다.

0

저는 프로젝트에서 종속성 소스 (V8과 CURL 모두)를 일반적으로 포함시켜야하고, 두통없이 완벽하게 통합 할 수 있도록 빌드해야합니다.

libs가 있고 링크를 사용하는 경우에는 병합해야합니다.

관련 문제