Important: Please read the Qt Code of Conduct -

How to build Crypto++ 5.6.2 in msvc2013 for Qt

  • Hello experts,

    Here is what I've done so far.

    -Downloaded cryptopp++ 5.6.2.

    -Downloaded and and overwrite the files.
    The page says " - archive of a pre-converted solution file, project files and filters for Visual Studio 2010 and above.", but includes only cryptest.sln for VS2005. Just a single file. But anyway, I used the file.

    -Opened cryptest.sln in MSVC2013, and set "Multi-threaded DLL (/MD)" for each project.
    (project --> properties --> C/C++ --> Code Generation --> Runtime Library --> /MD)

    -Build --> 'Batch Build' --> Check cryptdll, cryptest, cryptlib, dlltest (Release|win32) --> Build
    I've got dll and lib in DLL_Output directory.

    -Moved the dll into the dir where Qt exe resides in.

    -In Qt, I added two lines to

    INCLUDEPATH += "../extern/msvc2013/cryptopp562/include"		// Header files.
    LIBS += -L"..\extern\msvc2013\cryptopp562\include\cryptopp\Win32\DLL_Output\Release" -lcryptopp

    But in Qt, I've got the following errors. Do you have any idea?
    Any help/comment/insight would be really appreiciated.

    mainwindow.obj:-1: error: LNK2001: unresolved external symbol "public: virtual unsigned __int64 __thiscall CryptoPP::ThreadUserTimer::GetCurrentTimerValue(void)" (?GetCurrentTimerValue@ThreadUserTimer@CryptoPP@@UAE_KXZ)
    mainwindow.obj:-1: error: LNK2001: unresolved external symbol "public: virtual unsigned __int64 __thiscall CryptoPP::ThreadUserTimer::TicksPerSecond(void)" (?TicksPerSecond@ThreadUserTimer@CryptoPP@@UAE_KXZ)
    mainwindow.obj:-1: error: LNK2019: unresolved external symbol "class CryptoPP::NameValuePairs const & const CryptoPP::g_nullNameValuePairs" (?g_nullNameValuePairs@CryptoPP@@3ABVNameValuePairs@1@B) referenced in function "public: __thiscall CryptoPP::HMAC::HMAC(unsigned char const *,unsigned int)" (??0?$HMAC@VSHA256@CryptoPP@@@CryptoPP@@QAE@PBEI@Z)
    release\user_account_registration.exe:-1: error: LNK1120: 3 unresolved externals

Log in to reply