2013-03-28 6 views
2

나는 PoDoFo을 빌드하려고하는데 OpenSSL과 관련된 몇 가지 링커 오류가 있습니다. 나는 (OpenSSL) 그것을 만들려고했지만 너무 복잡해서, 나는 http://slproweb.com/products/Win32OpenSSL.html에서 Win64 OpenSSL v1.0.1e를 다운로드했다. Windows에서 PoDoFo 빌드 - 확인할 수없는 외부

는이 코드에서 비주얼 스튜디오 솔루션 제작 :

del cmakecache.txt 
set FTDIR=D:\Iwan\Projekty\PDF_projekt\freetype-2.4.11 
set FTLIBDIR=D:\Iwan\Projekty\PDF_projekt\freetype-2.4.11\objs\win32\vc2010 
set JPEGDIR=D:\Iwan\Projekty\PDF_projekt\jpeg-9 
set ZLIBDIR=D:\Iwan\Projekty\PDF_projekt\zlib127-dll 
set LIBCRYPTODIR=C:\OpenSSL-Win64 
cmake -G "Visual Studio 10" ..\podofo-0.9.2 -DCMAKE_INCLUDE_PATH="%FTDIR%\include;%JPEGDIR%\include;%JPEGDIR%;%ZLIBDIR%\include;%LIBCRYPTODIR%\include;%LIBCRYPTODIR%\include\openssl" -DCMAKE_LIBRARY_PATH="%FTLIBDIR%;%FTDIR%\lib;%JPEGDIR%\lib;%JPEGDIR%;%ZLIBDIR%\lib;%LIBCRYPTODIR%\lib\VC" -DPODOFO_BUILD_SHARED:BOOL=TRUE -DFREETYPE_LIBRARY_NAMES_DEBUG=freetype2411MT_D -DFREETYPE_LIBRARY_NAMES_RELEASE=freetype2411MT -DLIBCRYPTO_LIBRARY_NAMES_DEBUG=libeay32MDd -DLIBCRYPTO_LIBRARY_NAMES_RELEASE=libeay32MD 

내가 옵션을 추가해야하는지 라이브러리 확실하지 않다, 그러나 나는 libeay32MD, sleay32MD, libeay32MT, ssleay32MT, libeay32 및 ssleay32을 시도했다. 내가 만든 솔루션을 컴파일했을 때 나는이 링커 오류가있어

:

2>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library 
2>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_CIPHER_CTX_init referenced in function "public: __thiscall PoDoFo::AESCryptoEngine::AESCryptoEngine(void)" ([email protected]@@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_CIPHER_CTX_cleanup referenced in function "public: __thiscall PoDoFo::AESCryptoEngine::~AESCryptoEngine(void)" ([email protected]@@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_EncryptFinal_ex referenced in function "protected: void __thiscall PoDoFo::PdfEncryptRC4Base::RC4(unsigned char const *,int,unsigned char const *,int,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_EncryptUpdate referenced in function "protected: void __thiscall PoDoFo::PdfEncryptRC4Base::RC4(unsigned char const *,int,unsigned char const *,int,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_CIPHER_CTX_set_key_length referenced in function "protected: void __thiscall PoDoFo::PdfEncryptRC4Base::RC4(unsigned char const *,int,unsigned char const *,int,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_EncryptInit_ex referenced in function "protected: void __thiscall PoDoFo::PdfEncryptRC4Base::RC4(unsigned char const *,int,unsigned char const *,int,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_rc4 referenced in function "protected: void __thiscall PoDoFo::PdfEncryptRC4Base::RC4(unsigned char const *,int,unsigned char const *,int,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _MD5_Final referenced in function "public: static void __cdecl PoDoFo::PdfEncryptMD5Base::GetMD5Binary(unsigned char const *,int,unsigned char *)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _MD5_Update referenced in function "public: static void __cdecl PoDoFo::PdfEncryptMD5Base::GetMD5Binary(unsigned char const *,int,unsigned char *)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _MD5_Init referenced in function "public: static void __cdecl PoDoFo::PdfEncryptMD5Base::GetMD5Binary(unsigned char const *,int,unsigned char *)" ([email protected]@[email protected]@[email protected]) 
2>PdfEncrypt.obj : error LNK2019: unresolved external symbol _EVP_aes_128_cbc referenced in function "protected: void __thiscall PoDoFo::PdfEncryptAESBase::AES(unsigned char const *,int,unsigned char const *,unsigned char const *,int,unsigned char *,int)" ([email protected]@[email protected]@[email protected]) 

내가 2 일 동안이 컴파일 할 노력하고있어,하지만 아무것도 나는 일을하고, 나는 아무것도 찾을 수 없습니다 인터넷.

답변

0

직접 OpenSSL을 빌드해야합니다. 그것은 그 복잡하지 않습니다 - 여기에 소스 코드와 함께 번들로 install.w64 파일에서 가져온 명령의 관련 목록입니다 :

여기에 언급되지는 비주얼 스튜디오의 명령 프롬프트 내에서 실행해야합니까
> perl Configure VC-WIN64A 
> ms\do_win64a 
> nmake -f ms\ntdll.mak 
> cd out32dll 
> ..\ms\test 

(도구 메뉴). Perl은 거기에 표시되지 않으므로 먼저 명령을 실행해야합니다.