libpng and MSVC8

Started by
9 comments, last by T1Oracle 16 years, 10 months ago
I've been trying to get libpng to work in MSVC 2005 EE and when I try to build it and all I get is
Quote:1>------ Build started: Project: zlib, Configuration: DLL ASM Debug Win32 ------ 1>Assembling... 1>'ml' is not recognized as an internal or external command, 1>operable program or batch file. 1>Project : error PRJ0019: A tool returned an error code from "Assembling..." 1>Build log was saved at "file://c:\Users\user1\Downloads\png\lpng1218\projects\visualc71\Win32_DLL_ASM_Debug\ZLib\BuildLog.htm" 1>zlib - 1 error(s), 0 warning(s) 2>------ Build started: Project: libpng, Configuration: DLL ASM Debug Win32 ------ 2>Compiling... 2>pngvcrd.c 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(315) : error C2065: 'PNG_ASM_FLAG_MMX_READ_COMBINE_ROW' : undeclared identifier 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(1219) : error C2065: 'PNG_ASM_FLAG_MMX_READ_INTERLACE' : undeclared identifier 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3700) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_SUB' : undeclared identifier 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3703) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_UP' : undeclared identifier 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3706) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_AVG' : undeclared identifier 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3709) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_PAETH' : undeclared identifier 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3739) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3740) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3768) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3769) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3796) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3797) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3834) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3835) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def' 2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def' 2>Build log was saved at "file://c:\Users\user1\Downloads\png\lpng1218\projects\visualc71\Win32_DLL_ASM_Debug\BuildLog.htm" 2>libpng - 14 error(s), 0 warning(s) 3>------ Build started: Project: pngtest, Configuration: DLL ASM Debug Win32 ------ 3>Linking... 3>LINK : fatal error LNK1104: cannot open file '.\win32_dll_asm_debug\libpng13d.lib' 3>Build log was saved at "file://c:\Users\user1\Downloads\png\lpng1218\projects\visualc71\Win32_DLL_ASM_Debug\Test\BuildLog.htm" 3>pngtest - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========
Then I try the binaries and even after telling MSVC where the png headers are located (Tools - Options - Projects and Solutions - VC++ Directories = "C:\Program Files\GnuWin32\include" ) it still cannot open png.h When I manually copied the header files into the MSVC8 header folder I was bombarded with errors about headers not being able to be opened, int32_t not being recognized, and eventually I just restored my backup of that directory because it required that I change stuff that I wasn't sure I should edit. I just want to read and write to png's without having the overhead of some over featured image loading library. Most of them use libpng anyway. I also need to be able to load from my custom i/o stream.
Programming since 1995.
Advertisement
Yeah, I had a bit of trouble getting libpng setup but IT CAN BE DONE! Unfortunately, I don't know exactly what the problem is with your currently configuration, although that is almost certainly the problem. Try going through the C/C++ and Linker options and see if any of them differ from what you normally use.

--www.physicaluncertainty.com
--linkedin
--irc.freenode.net#gdnet

trying to build libpng alone produces this
Quote:1>------ Build started: Project: zlib, Configuration: DLL ASM Debug Win32 ------
1>Assembling...
1>'ml' is not recognized as an internal or external command,
1>operable program or batch file.
1>Project : error PRJ0019: A tool returned an error code from "Assembling..."
1>Build log was saved at "file://c:\Users\user1\Downloads\png\lpng1218\projects\visualc71\Win32_DLL_ASM_Debug\ZLib\BuildLog.htm"
1>zlib - 1 error(s), 0 warning(s)
2>------ Build started: Project: libpng, Configuration: DLL ASM Debug Win32 ------
2>Create dummy include files to prevent "Cannot find missing dependency..." warnings.
2>Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
2>Copyright (C) Microsoft Corporation. All rights reserved.
2>Compiling...
2>pngerror.c
2>c:\users\user1\downloads\png\lpng1218\pngerror.c(116) : warning C4114: same type qualifier used more than once
2>c:\users\user1\downloads\png\lpng1218\pngerror.c(149) : warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\string.h(156) : see declaration of 'strncpy'
2>Compiling...
2>pngwutil.c
2>c:\users\user1\downloads\png\lpng1218\pngwutil.c(185) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngwutil.c(1239) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngwutil.c(1625) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngwutil.c(1627) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>pngwtran.c
2>pngwrite.c
2>c:\users\user1\downloads\png\lpng1218\pngwrite.c(422) : warning C4996: 'gmtime': This function or variable may be unsafe. Consider using gmtime_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\time.inl(101) : see declaration of 'gmtime'
2>c:\users\user1\downloads\png\lpng1218\pngwrite.c(521) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngwrite.c(525) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngwrite.c(591) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngwrite.c(595) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>pngwio.c
2>pngvcrd.c
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(315) : error C2065: 'PNG_ASM_FLAG_MMX_READ_COMBINE_ROW' : undeclared identifier
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(1219) : error C2065: 'PNG_ASM_FLAG_MMX_READ_INTERLACE' : undeclared identifier
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3700) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_SUB' : undeclared identifier
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3703) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_UP' : undeclared identifier
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3706) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_AVG' : undeclared identifier
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3709) : error C2065: 'PNG_ASM_FLAG_MMX_READ_FILTER_PAETH' : undeclared identifier
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3739) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3740) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3768) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3769) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3796) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3797) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3834) : error C2039: 'mmx_bitdepth_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>c:\users\user1\downloads\png\lpng1218\pngvcrd.c(3835) : error C2039: 'mmx_rowbytes_threshold' : is not a member of 'png_struct_def'
2> c:\users\user1\downloads\png\lpng1218\png.h(1115) : see declaration of 'png_struct_def'
2>pngtrans.c
2>c:\users\user1\downloads\png\lpng1218\pngtrans.c(255) : warning C4114: same type qualifier used more than once
2>c:\users\user1\downloads\png\lpng1218\pngtrans.c(290) : warning C4114: same type qualifier used more than once
2>c:\users\user1\downloads\png\lpng1218\pngtrans.c(325) : warning C4114: same type qualifier used more than once
2>pngset.c
2>c:\users\user1\downloads\png\lpng1218\pngset.c(691) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
2>c:\users\user1\downloads\png\lpng1218\pngset.c(979) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
2>c:\users\user1\downloads\png\lpng1218\pngset.c(1028) : warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\string.h(156) : see declaration of 'strncpy'
2>pngrutil.c
2>c:\users\user1\downloads\png\lpng1218\pngrutil.c(286) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngrutil.c(289) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngrutil.c(292) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngrutil.c(324) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngrutil.c(2188) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
2>pngrtran.c
2>c:\users\user1\downloads\png\lpng1218\pngrtran.c(1254) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>pngrio.c
2>pngread.c
2>c:\users\user1\downloads\png\lpng1218\pngread.c(121) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngread.c(125) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngread.c(201) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>c:\users\user1\downloads\png\lpng1218\pngread.c(205) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\stdio.h(345) : see declaration of 'sprintf'
2>pngpread.c
2>c:\users\user1\downloads\png\lpng1218\pngpread.c(1500) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.
2> c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
2>pngmem.c
2>pngget.c
2>Generating Code...
2>Build log was saved at "file://c:\Users\user1\Downloads\png\lpng1218\projects\visualc71\Win32_DLL_ASM_Debug\BuildLog.htm"
2>libpng - 14 error(s), 28 warning(s)
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========

Building pngtest causes a linking error since the libpng13d.dll failed to build.
And building zlib produces this error:
Quote:1>------ Build started: Project: zlib, Configuration: DLL ASM Debug Win32 ------
1>Assembling...
1>'ml' is not recognized as an internal or external command,
1>operable program or batch file.
1>Project : error PRJ0019: A tool returned an error code from "Assembling..."
1>Build log was saved at "file://c:\Users\user1\Downloads\png\lpng1218\projects\visualc71\Win32_DLL_ASM_Debug\ZLib\BuildLog.htm"
1>zlib - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


I don't see anything weird in the settings.
Programming since 1995.
You are trying to build libpng with custom assembler optimizations - Visual C++ 2005 Express Edition doesn't come with assembler compiler.

Choose different configuration (without ASM in it).
How do I do that? Download a different version?

I also have the binaries and the versions with a setup program. I finally got the ones with a setup program a little further. Now I can find png.h (it put the directory in the wrong place in tools - options - vc++ dirs...) but I had to move the contents of the glibc directory out to the same dir as png.h and zlib.h then I got:
How do I do that? Download a different version?

I also have the binaries and the versions with a setup program. I finally got the ones with a setup program a little further. Now I can find png.h (it put the directory in the wrong place in tools - options - vc++ dirs...) but I had to move the contents of the glibc directory out to the same dir as png.h and zlib.h then I got:
Quote:1>------ Build started: Project: png test, Configuration: Debug Win32 ------
1>Compiling...
1>png test.cpp
1>C:\Program Files\GnuWin32\include\sys/types.h(50) : error C2371: 'ino_t' : redefinition; different basic types
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\wchar.h(467) : see declaration of 'ino_t'
1>C:\Program Files\GnuWin32\include\sys/types.h(62) : error C2371: 'dev_t' : redefinition; different basic types
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\wchar.h(476) : see declaration of 'dev_t'
1>C:\Program Files\GnuWin32\include\time.h(76) : error C2371: 'time_t' : redefinition; different basic types
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\crtdefs.h(530) : see declaration of 'time_t'
1>C:\Program Files\GnuWin32\include\stdlib.h(641) : error C4980: '__value' : use of this keyword requires /clr:oldSyntax command line option
1>C:\Program Files\GnuWin32\include\stdlib.h(641) : error C2144: syntax error : 'int' should be preceded by ')'
1>C:\Program Files\GnuWin32\include\stdlib.h(641) : error C2144: syntax error : 'int' should be preceded by ';'
1>C:\Program Files\GnuWin32\include\stdlib.h(641) : warning C4091: 'value ' : ignored on left of 'int' when no variable is declared
1>C:\Program Files\GnuWin32\include\stdlib.h(641) : error C2143: syntax error : missing ';' before ','
1>C:\Program Files\GnuWin32\include\stdlib.h(641) : error C2059: syntax error : ','
1>C:\Program Files\GnuWin32\include\stdlib.h(641) : error C2059: syntax error : ')'
1>C:\Program Files\GnuWin32\include\stdlib.h(776) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(782) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(788) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(793) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(795) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(797) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(802) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(805) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(809) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdlib.h(812) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdio.h(46) : error C2371: 'FILE' : redefinition; different basic types
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(69) : see declaration of 'FILE'
1>C:\Program Files\GnuWin32\include\_G_config.h(21) : error C2371: 'wint_t' : redefinition; different basic types
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\crtdefs.h(477) : see declaration of 'wint_t'
1>C:\Program Files\GnuWin32\include\wchar.h(78) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\stdio.h(88) : error C2371: 'fpos_t' : redefinition; different basic types
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(147) : see declaration of 'fpos_t'
1>C:\Program Files\GnuWin32\include\stdio.h(98) : warning C4005: '_IOFBF' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(168) : see previous definition of '_IOFBF'
1>C:\Program Files\GnuWin32\include\stdio.h(99) : warning C4005: '_IOLBF' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(169) : see previous definition of '_IOLBF'
1>C:\Program Files\GnuWin32\include\stdio.h(100) : warning C4005: '_IONBF' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(170) : see previous definition of '_IONBF'
1>C:\Program Files\GnuWin32\include\stdio.h(125) : warning C4005: 'P_tmpdir' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(671) : see previous definition of 'P_tmpdir'
1>C:\Program Files\GnuWin32\include\bits/stdio_lim.h(24) : warning C4005: 'L_tmpnam' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(93) : see previous definition of 'L_tmpnam'
1>C:\Program Files\GnuWin32\include\bits/stdio_lim.h(25) : warning C4005: 'TMP_MAX' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(114) : see previous definition of 'TMP_MAX'
1>C:\Program Files\GnuWin32\include\bits/stdio_lim.h(26) : warning C4005: 'FILENAME_MAX' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(111) : see previous definition of 'FILENAME_MAX'
1>C:\Program Files\GnuWin32\include\stdio.h(142) : error C2466: cannot allocate an array of constant size 0
1>C:\Program Files\GnuWin32\include\stdio.h(142) : error C2090: function returns array
1>C:\Program Files\GnuWin32\include\stdio.h(142) : error C2528: '__iob_func' : pointer to reference is illegal
1>C:\Program Files\GnuWin32\include\stdio.h(142) : error C2556: '_IO_FILE ***__iob_func(void)' : overloaded function differs only by return type from 'FILE *__iob_func(void)'
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(131) : see declaration of '__iob_func'
1>C:\Program Files\GnuWin32\include\stdio.h(143) : error C2090: function returns array
1>C:\Program Files\GnuWin32\include\stdio.h(143) : error C2528: '__iob_func' : pointer to reference is illegal
1>C:\Program Files\GnuWin32\include\stdio.h(143) : error C2556: '_IO_FILE ***__iob_func(void)' : overloaded function differs only by return type from 'FILE *__iob_func(void)'
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(131) : see declaration of '__iob_func'
1>C:\Program Files\GnuWin32\include\stdio.h(144) : error C2090: function returns array
1>C:\Program Files\GnuWin32\include\stdio.h(144) : error C2528: '__iob_func' : pointer to reference is illegal
1>C:\Program Files\GnuWin32\include\stdio.h(144) : error C2556: '_IO_FILE ***__iob_func(void)' : overloaded function differs only by return type from 'FILE *__iob_func(void)'
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(131) : see declaration of '__iob_func'
1>C:\Program Files\GnuWin32\include\stdio.h(146) : warning C4005: 'stdin' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(159) : see previous definition of 'stdin'
1>C:\Program Files\GnuWin32\include\stdio.h(147) : warning C4005: 'stdout' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(160) : see previous definition of 'stdout'
1>C:\Program Files\GnuWin32\include\stdio.h(148) : warning C4005: 'stderr' : macro redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(161) : see previous definition of 'stderr'
1>C:\Program Files\GnuWin32\include\stdio.h(152) : error C2733: second C linkage of overloaded function 'remove' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(152) : see declaration of 'remove'
1>C:\Program Files\GnuWin32\include\stdio.h(154) : error C2733: second C linkage of overloaded function 'rename' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(154) : see declaration of 'rename'
1>C:\Program Files\GnuWin32\include\stdio.h(161) : warning C4273: 'tmpfile' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(321) : see previous definition of 'tmpfile'
1>C:\Program Files\GnuWin32\include\stdio.h(171) : warning C4273: 'tmpnam' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(327) : see previous definition of 'tmpnam'
1>C:\Program Files\GnuWin32\include\stdio.h(194) : error C2733: second C linkage of overloaded function 'tempnam' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(193) : see declaration of 'tempnam'
1>C:\Program Files\GnuWin32\include\stdio.h(200) : warning C4273: 'fclose' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(199) : see previous definition of 'fclose'
1>C:\Program Files\GnuWin32\include\stdio.h(202) : warning C4273: 'fflush' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(210) : see previous definition of 'fflush'
1>C:\Program Files\GnuWin32\include\stdio.h(220) : error C2733: second C linkage of overloaded function 'fopen' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(219) : see declaration of 'fopen'
1>C:\Program Files\GnuWin32\include\stdio.h(224) : error C2733: second C linkage of overloaded function 'freopen' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(222) : see declaration of 'freopen'
1>C:\Program Files\GnuWin32\include\stdio.h(250) : error C2733: second C linkage of overloaded function 'fdopen' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(250) : see declaration of 'fdopen'
1>C:\Program Files\GnuWin32\include\stdio.h(274) : warning C4273: 'setbuf' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(301) : see previous definition of 'setbuf'
1>C:\Program Files\GnuWin32\include\stdio.h(279) : warning C4273: 'setvbuf' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(305) : see previous definition of 'setvbuf'
1>C:\Program Files\GnuWin32\include\stdio.h(296) : error C2733: second C linkage of overloaded function 'fprintf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(295) : see declaration of 'fprintf'
1>C:\Program Files\GnuWin32\include\stdio.h(298) : error C2733: second C linkage of overloaded function 'printf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(298) : see declaration of 'printf'
1>C:\Program Files\GnuWin32\include\stdio.h(301) : error C2733: second C linkage of overloaded function 'sprintf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(300) : see declaration of 'sprintf'
1>C:\Program Files\GnuWin32\include\stdio.h(305) : error C2733: second C linkage of overloaded function 'vfprintf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(304) : see declaration of 'vfprintf'
1>C:\Program Files\GnuWin32\include\stdio.h(308) : error C2733: second C linkage of overloaded function 'vprintf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(307) : see declaration of 'vprintf'
1>C:\Program Files\GnuWin32\include\stdio.h(311) : error C2733: second C linkage of overloaded function 'vsprintf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(310) : see declaration of 'vsprintf'
1>C:\Program Files\GnuWin32\include\stdio.h(323) : error C2733: second C linkage of overloaded function 'vsnprintf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(321) : see declaration of 'vsnprintf'
1>C:\Program Files\GnuWin32\include\stdio.h(352) : error C2733: second C linkage of overloaded function 'fscanf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(351) : see declaration of 'fscanf'
1>C:\Program Files\GnuWin32\include\stdio.h(354) : error C2733: second C linkage of overloaded function 'scanf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(354) : see declaration of 'scanf'
1>C:\Program Files\GnuWin32\include\stdio.h(357) : error C2733: second C linkage of overloaded function 'sscanf' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(356) : see declaration of 'sscanf'
1>C:\Program Files\GnuWin32\include\stdio.h(381) : warning C4273: 'fgetc' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(211) : see previous definition of 'fgetc'
1>C:\Program Files\GnuWin32\include\stdio.h(382) : warning C4273: 'getc' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(263) : see previous definition of 'getc'
1>C:\Program Files\GnuWin32\include\stdio.h(385) : warning C4273: 'getchar' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(264) : see previous definition of 'getchar'
1>C:\Program Files\GnuWin32\include\stdio.h(406) : warning C4273: 'fputc' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(240) : see previous definition of 'fputc'
1>C:\Program Files\GnuWin32\include\stdio.h(407) : warning C4273: 'putc' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(280) : see previous definition of 'putc'
1>C:\Program Files\GnuWin32\include\stdio.h(410) : warning C4273: 'putchar' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(281) : see previous definition of 'putchar'
1>C:\Program Files\GnuWin32\include\stdio.h(431) : warning C4273: 'getw' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(691) : see previous definition of 'getw'
1>C:\Program Files\GnuWin32\include\stdio.h(434) : warning C4273: 'putw' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(692) : see previous definition of 'putw'
1>C:\Program Files\GnuWin32\include\stdio.h(441) : warning C4273: 'fgets' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(214) : see previous definition of 'fgets'
1>C:\Program Files\GnuWin32\include\stdio.h(445) : warning C4273: 'gets' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(270) : see previous definition of 'gets'
1>C:\Program Files\GnuWin32\include\stdio.h(478) : error C2733: second C linkage of overloaded function 'fputs' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(477) : see declaration of 'fputs'
1>C:\Program Files\GnuWin32\include\stdio.h(481) : error C2733: second C linkage of overloaded function 'puts' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(481) : see declaration of 'puts'
1>C:\Program Files\GnuWin32\include\stdio.h(485) : warning C4273: 'ungetc' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(328) : see previous definition of 'ungetc'
1>C:\Program Files\GnuWin32\include\stdio.h(490) : warning C4273: 'fread' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(243) : see previous definition of 'fread'
1>C:\Program Files\GnuWin32\include\stdio.h(493) : error C2733: second C linkage of overloaded function 'fwrite' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(492) : see declaration of 'fwrite'
1>C:\Program Files\GnuWin32\include\stdio.h(513) : warning C4273: 'fseek' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(256) : see previous definition of 'fseek'
1>C:\Program Files\GnuWin32\include\stdio.h(515) : warning C4273: 'ftell' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(257) : see previous definition of 'ftell'
1>C:\Program Files\GnuWin32\include\stdio.h(517) : warning C4273: 'rewind' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(293) : see previous definition of 'rewind'
1>C:\Program Files\GnuWin32\include\stdio.h(548) : warning C4273: 'fgetpos' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(213) : see previous definition of 'fgetpos'
1>C:\Program Files\GnuWin32\include\stdio.h(550) : error C2733: second C linkage of overloaded function 'fsetpos' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(550) : see declaration of 'fsetpos'
1>C:\Program Files\GnuWin32\include\stdio.h(575) : warning C4273: 'clearerr' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(197) : see previous definition of 'clearerr'
1>C:\Program Files\GnuWin32\include\stdio.h(577) : warning C4273: 'feof' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(208) : see previous definition of 'feof'
1>C:\Program Files\GnuWin32\include\stdio.h(579) : warning C4273: 'ferror' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(209) : see previous definition of 'ferror'
1>C:\Program Files\GnuWin32\include\stdio.h(592) : error C2733: second C linkage of overloaded function 'perror' not allowed
1> C:\Program Files\GnuWin32\include\stdio.h(592) : see declaration of 'perror'
1>C:\Program Files\GnuWin32\include\stdio.h(604) : warning C4273: 'fileno' : inconsistent dll linkage
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(688) : see previous definition of 'fileno'
1>C:\Program Files\GnuWin32\include\string.h(39) : error C2733: second C linkage of overloaded function 'memcpy' not allowed
1> C:\Program Files\GnuWin32\include\string.h(38) : see declaration of 'memcpy'
1>C:\Program Files\GnuWin32\include\string.h(43) : error C2733: second C linkage of overloaded function 'memmove' not allowed
1> C:\Program Files\GnuWin32\include\string.h(42) : see declaration of 'memmove'
1>C:\Program Files\GnuWin32\include\unistd.h(378) : error C2059: syntax error : '__value'
1>C:\Program Files\GnuWin32\include\unistd.h(711) : error C2733: second C linkage of overloaded function 'unlink' not allowed
1> C:\Program Files\GnuWin32\include\unistd.h(711) : see declaration of 'unlink'
1>C:\Program Files\GnuWin32\include\time.h(132) : error C2011: 'tm' : 'struct' type redefinition
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\wchar.h(1107) : see declaration of 'tm'
1>C:\Program Files\GnuWin32\include\time.h(356) : error C2144: syntax error : 'int' should be preceded by ')'
1>C:\Program Files\GnuWin32\include\time.h(356) : error C2144: syntax error : 'int' should be preceded by ';'
1>C:\Program Files\GnuWin32\include\time.h(356) : warning C4091: 'value ' : ignored on left of 'int' when no variable is declared
1>C:\Program Files\GnuWin32\include\time.h(356) : error C2143: syntax error : missing ';' before ','
1>C:\Program Files\GnuWin32\include\time.h(356) : error C2059: syntax error : ','
1>C:\Program Files\GnuWin32\include\time.h(357) : error C2059: syntax error : ')'
1>C:\Program Files\GnuWin32\include\time.h(360) : error C2144: syntax error : 'int' should be preceded by ')'
1>C:\Program Files\GnuWin32\include\time.h(360) : error C2144: syntax error : 'int' should be preceded by ';'
1>C:\Program Files\GnuWin32\include\time.h(360) : error C2059: syntax error : ')'
1>C:\Program Files\GnuWin32\include\time.h(361) : warning C4091: 'value ' : ignored on left of 'int' when no variable is declared
1>.\png test.cpp(29) : error C2065: 'stderr' : undeclared identifier
1>.\png test.cpp(33) : warning C4793: 'vararg' : causes native code generation for function 'void abort_(char *,...)'
1> .\png test.cpp(25) : see declaration of 'abort_'
1>.\png test.cpp(51) : error C2666: 'fopen' : 2 overloads have similar conversions
1> C:\Program Files\GnuWin32\include\stdio.h(219): could be 'FILE *fopen(char *,char *)'
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(234): or 'FILE *fopen(const char *,const char *)'
1> while trying to match the argument list '(char *, const char [3])'
1>.\png test.cpp(69) : warning C4793: 'setjmp' : causes native code generation for function 'void read_png_file(char *)'
1> .\png test.cpp(46) : see declaration of 'read_png_file'
1>.\png test.cpp(103) : error C2666: 'fopen' : 2 overloads have similar conversions
1> C:\Program Files\GnuWin32\include\stdio.h(219): could be 'FILE *fopen(char *,char *)'
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(234): or 'FILE *fopen(const char *,const char *)'
1> while trying to match the argument list '(char *, const char [3])'
1>.\png test.cpp(118) : warning C4793: 'setjmp' : causes native code generation for function 'void write_png_file(char *)'
1> .\png test.cpp(100) : see declaration of 'write_png_file'
1>Build log was saved at "file://c:\Users\user1\Documents\Visual Studio 2005\Projects\png test\png test\Debug\BuildLog.htm"
1>png test - 70 error(s), 42 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Programming since 1995.
Paulius is probably right, there'll be some setting in project properties that's trying to play with ASM. I vaguely remember encountering a problem like this myself, and ended up tweaking settings for several days before getting it to work. So that you can avoid that, HERE is a copy of what I currently use. Hopefully, that'll get you where you want to be without the agonizing pain :)

--www.physicaluncertainty.com
--linkedin
--irc.freenode.net#gdnet

Thanks man, what you sent me compiled successfully. Unfortunately I don't know where to go from there. I tried using it a test project and I got linking errors:
Quote:1>------ Build started: Project: png test, Configuration: Debug Win32 ------
1>Linking...
1>png test.obj : error LNK2019: unresolved external symbol _png_read_image referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_read_update_info referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_set_interlace_handling referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_read_info referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_set_sig_bytes referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_init_io referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_create_info_struct referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_create_read_struct referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_sig_cmp referenced in function "void __cdecl read_png_file(char *)" (?read_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_write_end referenced in function "void __cdecl write_png_file(char *)" (?write_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_write_image referenced in function "void __cdecl write_png_file(char *)" (?write_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_write_info referenced in function "void __cdecl write_png_file(char *)" (?write_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_set_IHDR referenced in function "void __cdecl write_png_file(char *)" (?write_png_file@@YAXPAD@Z)
1>png test.obj : error LNK2019: unresolved external symbol _png_create_write_struct referenced in function "void __cdecl write_png_file(char *)" (?write_png_file@@YAXPAD@Z)
1>C:\Users\user1\Documents\Visual Studio 2005\Projects\png test\Debug\png test.exe : fatal error LNK1120: 14 unresolved externals
1>Build log was saved at "file://c:\Users\user1\Documents\Visual Studio 2005\Projects\png test\png test\Debug\BuildLog.htm"
1>png test - 15 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I gave it the directory of the output lib files in the linker options.
Programming since 1995.
Ok, the problem is that VS cannot find the library file. Are you using the relative location of the lib? If so, you might have to add an additional ../ to the directory (a mistake I've often made). Otherwise, try using the absolute location as a sanity check.

--www.physicaluncertainty.com
--linkedin
--irc.freenode.net#gdnet

Yes! It works, although not perfectly it is reading and writing pngs just fine. I had to add the lib files to the project to get past the linker error. I still get a linker warning though:
Quote:1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
Programming since 1995.
Quote:Original post by T1Oracle
Yes! It works, although not perfectly it is reading and writing pngs just fine. I had to add the lib files to the project to get past the linker error. I still get a linker warning though:
Quote:1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library


Are you using the multi-threaded debug DLL runtime library? I normally use the multi-threaded debug runtime, so there might be a conflict between the way I've built libpng and your project. I think you have to choose one and use it for all of the projects.

--www.physicaluncertainty.com
--linkedin
--irc.freenode.net#gdnet

This topic is closed to new replies.

Advertisement