Hi list,
I just downloaded libpng 1.2.8 and the static libs in there are not static, they still try to link to the DLLs. The 1.2.7 version does not have the problem.
Thanks,
Christian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In compiling the source distribution, a static version of pngtest is created by linking to libpng.a, so it seems that libpng.a is a true static library.
Mingw-GCC chooses automatically the dynamic library (libpng.dll.a) if this is somewhere in the path for linking. Are you absolutely sure you don't have a libpng.dll.a somewhere in the linking path?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, definitely sure.
No matter whether I link with libpng.a or libpng.dll.a, the 1.2.8 version demands the dll, while the 1.2.7 version does not demand the dll when linking against libpng.a.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If I list (with the command 'ar t libpng.a') the contents of libpng.a as distributed in libpng-1.2.8-lib.zip, I get a list of compiled files with names equal to the compiled files (png.o, pngset.o, etc.). This shows that libpng.a is a static library.
For libpng.dll.a, I get a list of names of the form d000xxx.o, where xxx is a number from 000 to 371. This shows that libpng.dll.a is a dynamic link library.
What are the results for the libraries installed on your system?
Also, compiling with the flags '-static -D__STATIC__ -DPNG_STATIC' and then linking with -lpng and the flag '-Wl,-static' gives me a static executable. Without these flags, one gets an executable linked to the DLL. See the Makefile in libpng-1.2.8-src.zip for an example.
What are the results for a compilation and linking on your system? If you are still unsuccessfull, please report the exact content of the commands that you used as well as the setup of your system, in particular the content of the PATH environment variable, and the location of Mingw and of the installed libpng libraries.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi list,
I just downloaded libpng 1.2.8 and the static libs in there are not static, they still try to link to the DLLs. The 1.2.7 version does not have the problem.
Thanks,
Christian
In compiling the source distribution, a static version of pngtest is created by linking to libpng.a, so it seems that libpng.a is a true static library.
Mingw-GCC chooses automatically the dynamic library (libpng.dll.a) if this is somewhere in the path for linking. Are you absolutely sure you don't have a libpng.dll.a somewhere in the linking path?
Yes, definitely sure.
No matter whether I link with libpng.a or libpng.dll.a, the 1.2.8 version demands the dll, while the 1.2.7 version does not demand the dll when linking against libpng.a.
If I list (with the command 'ar t libpng.a') the contents of libpng.a as distributed in libpng-1.2.8-lib.zip, I get a list of compiled files with names equal to the compiled files (png.o, pngset.o, etc.). This shows that libpng.a is a static library.
For libpng.dll.a, I get a list of names of the form d000xxx.o, where xxx is a number from 000 to 371. This shows that libpng.dll.a is a dynamic link library.
What are the results for the libraries installed on your system?
Also, compiling with the flags '-static -D__STATIC__ -DPNG_STATIC' and then linking with -lpng and the flag '-Wl,-static' gives me a static executable. Without these flags, one gets an executable linked to the DLL. See the Makefile in libpng-1.2.8-src.zip for an example.
What are the results for a compilation and linking on your system? If you are still unsuccessfull, please report the exact content of the commands that you used as well as the setup of your system, in particular the content of the PATH environment variable, and the location of Mingw and of the installed libpng libraries.