>
> Simson Garfinkel schreef op do 15-09-2011 om 17:06 [+0100]:
>> I am having a problem creating multi-threaded executables that are statically linked. Even though I am using the -static flag, the resulting executable has a dependency for pthreadGC2.dll. Unfortunately, for my application we do not wish to have ANY DLL dependencies.
>>
>> Here is my linkage line:
>>
>> x86_64-w64-mingw32-g++ -D_FORTIFY_SOURCE=2 -Wall -g -Wno-format --static -mthreads -o tigerdeep.exe md5.o sha1.o sha256.o whirlpool.o tiger.o main.o hashlist.o multihash.o display.o hash.o dig.o helpers.o xml.o files.o threadpool.o -lws2_32 -lgdi32 -liberty -lpthread
>>
>> The problem seems to be that all of the libraries have been built for dynamic linking.
>
> Hi,
>
> This is expected behaviour. The mingw{32,64}-pthreads package only
> contain shared libraries at the moment so even if you specify the
> '-static' compiler flag it will still create a dependency on the
> pthreads dll.
>
> You might want to look into the possibility of adding support for a
> static pthreads library to the mingw-pthreads package and creating a
> mingw{32,64}-pthreads-static subpackages.
>
> Kind regards,
>
> Erik van Pienbroek
Hi, Erik. Thanks for the email.
I'm not really sure how to create a package. Is there a reason why the single package can't have both static and dynamic options? I would think that the --static flag would be used to determine which of the two libraries would be used.
In any event, I have been able to compile a static version and am using it locally. Yes, I'd like to make a package, if you can point me to directions.
Regards,
Simson