Search code examples
c++windowsmingwcrypto++

Build crypto562 with minGW


I have an application which has been build (compiled) on mingw 4.8.1, crypto562,boost 1_58_0 and uses openssl 0.9.8h.

For this, I am using: g++ -std=c++11 -s -D_WIN32_WINNT=0x0501 LOG.cpp -U__STRICT_ANSI__ Jobs.cpp Crdir.cpp Upload.cpp TCP_UPGRADED.cpp -o E:\Happy.exe -IC:\\MinGW\\ -IC:\\MinGW\\boost -LC:\\MinGW -lssl -lcrypto -lgdi32 -lboost_program_options-mgw48-mt-1_58 -lboost_system-mgw48-mt-1_58 -lboost_filesystem-mgw48-mt-1_58 -lPCRYPT -ltiny -lwsock32 -lws2_32 -lShlwapi command to compile it. It works fine.

But now I upgraded Opensll, wingwm, boost library to opensll 1.1.0e, boost1_64. If I compile, I get error like duplicate section.

C:\\MinGW/libcryptopp.a(randpool.o): duplicate section `.rdata$_ZTVN8CryptoPP8ClonableE[__ZTVN8CryptoPP8ClonableE]has different size

so I thought I need to build crypto library with upgraded library, but I don't have any idea how to build with mingw environment, in internet i am getting support or suggestions related to VS and QT library.

Please help me to generate (Build) a libcryptopp.a file.


Solution

  • I am able to generated libcryptopp.a library by following the step mentioned over in this link click here and

    1. set PATH=%PATH%;C:\MinGW\msys2\usr\bin (if you don't have msys2 then download the msys2 and update it )
    2. cd C:\cryptopp
    3. mingw32-make
    4. mingw32-make test
    5. mkdir include\cryptopp
    6. mkdir lib
    7. copy *.h include\cryptopp
    8. copy *.a lib