libmicrohttpd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libmicrohttpd] Windows binary with SSL3/TLS


From: Evgeny Grin
Subject: Re: [libmicrohttpd] Windows binary with SSL3/TLS
Date: Wed, 15 Jun 2016 21:47:47 +0300
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1

You don't need any magic.
Simply run
configure --disable-shared --enable-static

But you will need to provide required libraries. You will need about
12-15 additional .dlls or .a files. That's the reason why W32 binary is
not distributed with TLS.

-- 
Best Wishes,
Evgeny Grin

On 15.06.2016 19:12, Weber, Peter (Wilken Software Engineering GmbH) wrote:
> Hello and big thanks at Silvio and Evgeny!
> It worked and I can compile the library dynamically and link it! At
> first I was bewildered by MSYS2, especially because I'm using Archlinux
> (pacman) since years. My beloved package-manager was ported to Windows
> *envy*. I'm now able to compile my program and link it dynamically.
> 
> One last problem remains:
> I'm trying to compile libmicrohttpd statically or at least the final
> executable, but this fails. My LDFLAG="-static" seems to be ignored.
> Therefore I compile the final program with "-static", which required me
> to care much about the libraries:
> 
> 
>> $ g++ -static -static-libstdc++ -o foo foo.cpp -Llib -lmicrohttpd -Iinclude 
>> -Wall -Wpedantic -std=gnu++11 -lws2_32 -lgnutls -lidn -lgcrypt -lffi 
>> -lgpg-error -lhogweed -lgmp -lintl -liconv -lnettle -ltasn1 -lwinpthread -lz
> 
> These gives me still a lot of "undefinfed reference errors", especially
> about "system.o", "system-keys-win.o" and "pkcs11.o". So I tried to add
> "-lp11-kit" behind "-lgnutls" but it doesn't change anything. And
> "system.o" and "system-keys-win.o" doesn't give me a hint, so stuff
> from Windows or internals of GNUTLS?
> 
> See here: http://pastebin.com/TYNQ289E
> 
> Do you think I should try to hand over the required libraries to my
> users also? I'm perfectly fine with this, but it sounds a little bit
> clumsy.
> 
> Thanks
> Peter
> 
> 
> 
> For future readers, here my steps for WIN_X86_64:
> 1. Install
> http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20160205.exe
> 2. Launch msys2_shell.cmd
> 3.1 Optional if behind proxy:
>     $ export http_proxy=...
>     $ export https_proxy=...
> 3.2 $ pacman -S mingw-w64-x86_64-toolchain make wget tar # general stuff
>     $ pacman -S mingw-w64-x86_64-curl mingw-w64-x86_64-libgcrypt 
> mingw-w64-x86_64-gnutls # for libmicrohttpd
> 4. Close the terminal
> 5. Launch msys2_shell.cmd -mingw64 # important!
> 6. $ wget -c 
> http://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-0.9.50.tar.gz
>    $ tar -xzvf libmicrohttpd-0.9.50.tar.gz libmicrohttpd-0.9.50/
>    $ mkdir build && cd build
>    $ LDFLAG="-static" CFLAGS='-Os -s' ../libmicrohttpd-0.9.50/configure
>    or
>    $ CFLAGS='-Os -s' ../libmicrohttpd-0.9.50/configure
>    $ make
>    You will find the resulting library now here "build\src\microhttpd\.libs\".
>   
> 
> 
> Example for compiling a final program and linking:
> 1. Launch msys2_shell.cmd -mingw64 # important!
> 2. $ g++ -o foo.exe foo.cpp -Llib -lmicrohttpd -Iinclude -Wall -Wpedantic 
> -std=gnu++11 -lws2_32 -lgnutls -lgcrypt
> 
> 
> 
> @LRN: I' sorry, but libmicrohttpd seems not to be included in the packages
> 

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]