Afraid it's me again. Trying to compile FLAC, I get this from the console window.
I know a bit about makefiles but not sure what the problem is here.
{"name":"603059","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/5\/15800796831a90d1b4b04fce17019b72.png","w":754,"h":312,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/5\/15800796831a90d1b4b04fce17019b72"}
Maybe there's an easier way to get FLAC installed other than compiling from source ?
This page may help you, if you're just looking for a program to compress/decompress .flac files: http://flac.sourceforge.net/download.html.
I've seen that error before when using a non-mingw version of make... but you are typing mingw32-make so I assume you didn't just rename make.exe? The other thing I would check is that sh.exe is not in your path when you run mingw32-make.
cd libFLAC ; mingw32-make -f makefile.lite release
The error is in the semicolon. Notice in the earlier lines how it uses a double ampersand to connect commands? Find that line in flac-1.2.1\src\makefile.lite (possibly under the release target) and change the semicolon to a double ampersand.
Note : It would have been easier to quote your log if you had pasted it into <pre></pre> tags. (Right click on the console title bar and select 'Edit->Select All', then right click on the console title bar again and select 'Edit->Copy'. Now you can paste the text into something else.)
Thanks a lot Edgar.
I fixed that little issue. I'd never have spotted it myself.
The error I'm getting now is :-
C:\flac-1.2.1\flac-1.2.1>mingw32-make -f Makefile.lite
(cd doc && mingw32-make -f Makefile.lite)
mingw32-make[1]: Entering directory `C:/flac-1.2.1/flac-1.2.1/doc'
mingw32-make[1]: `FLAC.tag' is up to date.
mingw32-make[1]: Leaving directory `C:/flac-1.2.1/flac-1.2.1/doc'
(cd src && mingw32-make -f Makefile.lite release)
mingw32-make[1]: Entering directory `C:/flac-1.2.1/flac-1.2.1/src'
(cd libFLAC && mingw32-make -f Makefile.lite release)
mingw32-make[2]: Entering directory `C:/flac-1.2.1/flac-1.2.1/src/libFLAC'
nasm -f elf -d OBJ_FORMAT_elf -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader
_asm.release.o
process_begin: CreateProcess(NULL, nasm -f elf -d OBJ_FORMAT_elf -i ia32/ ia32/b
itreader_asm.nasm -o ia32/bitreader_asm.release.o, ...) failed.
make (e=2): The system cannot find the file specified.
mingw32-make[2]: *** [ia32/bitreader_asm.release.o] Error 2
mingw32-make[2]: Leaving directory `C:/flac-1.2.1/flac-1.2.1/src/libFLAC'
mingw32-make[1]: *** [libFLAC] Error 2
mingw32-make[1]: Leaving directory `C:/flac-1.2.1/flac-1.2.1/src'
mingw32-make: *** [src] Error 2
C:\flac-1.2.1\flac-1.2.1>
This line seems to cause the error.
nasm -f elf -d OBJ_FORMAT_elf -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader
_asm.release.o
When it says cannot find the file specified which file does it mean ?
nasm -f elf -d OBJ_FORMAT_elf -i ia32/ ia32/bitreader_asm.nasm -o ia32/bitreader
_asm.release.o
Whenever I used nasm in windows I believe it was like
nasm -fwin32 myprog.asm -o myprog.o
cheers
When it says
nasm -f elf
doesn't that mean there should be a file elf in the working directory ?
Read the output of
nasm <enter>
then (as suggested)
nasm -h
then
nasm -hf
Thanks.
I did what you said and got this :/
C:\flac-1.2.1\flac-1.2.1>nasm 'nasm' is not recognized as an internal or external command, operable program or batch file.
Looks like I don't even have nasm installed
I'm also having problem with flac.
But I'm using msys.bat
I type:
Armando@Toshiba /c/flac $ ./configure checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... i686-pc-mingw32 checking host system type... i686-pc-mingw32 checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.exe checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking dependency style of gcc... gcc3 checking for a sed that does not truncate output... /bin/sed checking for egrep... grep -E checking for ld used by gcc... c:/mingw/mingw32/bin/ld.exe checking if the linker (c:/mingw/mingw32/bin/ld.exe) is GNU ld... yes checking for c:/mingw/mingw32/bin/ld.exe option to reload object files... -r checking for BSD-compatible nm... /bin/nm -B checking whether ln -s works... yes checking how to recognise dependent libraries... file_magic file format pei*-i386(.*architecture: i386)? checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... no checking dlfcn.h presence... no checking for dlfcn.h... no checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for f77... no checking for xlf... no checking for frt... no checking for pgf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for f90... no checking for xlf90... no checking for pgf90... no checking for epcf90... no checking for f95... no checking for fort... no checking for xlf95... no checking for ifc... no checking for efc... no checking for pgf95... no checking for lf95... no checking for gfortran... no checking whether we are using the GNU Fortran 77 compiler... no checking whether accepts -g... no checking the maximum length of command line arguments... 8192 checking command to parse /bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc static flag works... yes checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -DDLL_EXPORT checking if gcc PIC flag -DDLL_EXPORT works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (c:/mingw/mingw32/bin/ld.exe) supports shared libraries... yes checking whether -lc should be explicitly linked in... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool appending configuration tag "CXX" to libtool checking for ld used by g++... c:/mingw/mingw32/bin/ld.exe checking if the linker (c:/mingw/mingw32/bin/ld.exe) is GNU ld... yes checking whether the g++ linker (c:/mingw/mingw32/bin/ld.exe) supports shared libraries... yes checking for g++ option to produce PIC... -DDLL_EXPORT checking if g++ PIC flag -DDLL_EXPORT works... yes checking if g++ supports -c -o file.o... yes checking whether the g++ linker (c:/mingw/mingw32/bin/ld.exe) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes appending configuration tag "F77" to libtool checking whether we are using the GNU C++ compiler... (cached) yes checking whether g++ accepts -g... (cached) yes checking dependency style of g++... (cached) gcc3 checking whether make sets $(MAKE)... (cached) yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for _LARGE_FILES value needed for large files... no checking for _LARGEFILE_SOURCE value needed for large files... no checking for fseeko... no checking for void*... yes checking size of void*... 4 checking whether byte ordering is bigendian... no checking for socklen_t... no checking for getopt_long... yes checking for doxygen... no checking for xmms-config... no checking for XMMS - version >= 0.9.5.1... no *** The xmms-config script installed by XMMS could not be found. *** If XMMS was installed in PREFIX, make sure PREFIX/bin is in *** your path, or set the XMMS_CONFIG environment variable to the *** full path to xmms-config. configure: WARNING: *** XMMS >= 0.9.5.1 not installed - XMMS support will not be built checking for Ogg... yes checking for ld used by GCC... c:/mingw/mingw32/bin/ld.exe checking if the linker (c:/mingw/mingw32/bin/ld.exe) is GNU ld... yes checking for shared library run path origin... done checking for iconv... yes checking how to link with libiconv... -liconv checking for iconv declaration... extern size_t iconv (iconv_t cd, const char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); checking for nl_langinfo and CODESET... no checking for docbook-to-man... no checking for docbook2man... no checking for nasm... no checking for as... as checking for gas... no configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating src/libFLAC/Makefile config.status: creating src/libFLAC/flac.pc config.status: creating src/libFLAC/ia32/Makefile config.status: creating src/libFLAC/ppc/Makefile config.status: creating src/libFLAC/ppc/as/Makefile config.status: creating src/libFLAC/ppc/gas/Makefile config.status: creating src/libFLAC/include/Makefile config.status: creating src/libFLAC/include/private/Makefile config.status: creating src/libFLAC/include/protected/Makefile config.status: creating src/libFLAC++/Makefile config.status: creating src/libFLAC++/flac++.pc config.status: creating src/flac/Makefile config.status: creating src/metaflac/Makefile config.status: creating src/monkeys_audio_utilities/Makefile config.status: creating src/monkeys_audio_utilities/flac_mac/Makefile config.status: creating src/monkeys_audio_utilities/flac_ren/Makefile config.status: creating src/plugin_common/Makefile config.status: creating src/plugin_winamp2/Makefile config.status: creating src/plugin_winamp2/include/Makefile config.status: creating src/plugin_winamp2/include/winamp2/Makefile config.status: creating src/plugin_xmms/Makefile config.status: creating src/share/Makefile config.status: creating src/share/getopt/Makefile config.status: creating src/share/grabbag/Makefile config.status: creating src/share/replaygain_analysis/Makefile config.status: creating src/share/replaygain_synthesis/Makefile config.status: creating src/share/replaygain_synthesis/include/Makefile config.status: creating src/share/replaygain_synthesis/include/private/Makefile config.status: creating src/share/utf8/Makefile config.status: creating src/test_grabbag/Makefile config.status: creating src/test_grabbag/cuesheet/Makefile config.status: creating src/test_grabbag/picture/Makefile config.status: creating src/test_libs_common/Makefile config.status: creating src/test_libFLAC/Makefile config.status: creating src/test_libFLAC++/Makefile config.status: creating src/test_seeking/Makefile config.status: creating src/test_streams/Makefile config.status: creating examples/Makefile config.status: creating examples/c/Makefile config.status: creating examples/c/decode/Makefile config.status: creating examples/c/decode/file/Makefile config.status: creating examples/c/encode/Makefile config.status: creating examples/c/encode/file/Makefile config.status: creating examples/cpp/Makefile config.status: creating examples/cpp/decode/Makefile config.status: creating examples/cpp/decode/file/Makefile config.status: creating examples/cpp/encode/Makefile config.status: creating examples/cpp/encode/file/Makefile config.status: creating include/Makefile config.status: creating include/FLAC/Makefile config.status: creating include/FLAC++/Makefile config.status: creating include/share/Makefile config.status: creating include/share/grabbag/Makefile config.status: creating include/test_libs_common/Makefile config.status: creating doc/Makefile config.status: creating doc/html/Makefile config.status: creating doc/html/images/Makefile config.status: creating doc/html/images/hw/Makefile config.status: creating doc/html/ru/Makefile config.status: creating m4/Makefile config.status: creating man/Makefile config.status: creating test/Makefile config.status: creating test/cuesheets/Makefile config.status: creating test/flac-to-flac-metadata-test-files/Makefile config.status: creating test/metaflac-test-files/Makefile config.status: creating test/pictures/Makefile config.status: creating build/Makefile config.status: creating obj/Makefile config.status: creating obj/debug/Makefile config.status: creating obj/debug/bin/Makefile config.status: creating obj/debug/lib/Makefile config.status: creating obj/release/Makefile config.status: creating obj/release/bin/Makefile config.status: creating obj/release/lib/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands
Then...
I don't know how the make command works if my make program is called mingw32-make
Armando@Toshiba /c/flac $ make make all-recursive make[1]: Entering directory `/c/flac' Making all in doc make[2]: Entering directory `/c/flac/doc' Making all in . make[3]: Entering directory `/c/flac/doc' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/c/flac/doc' Making all in html make[3]: Entering directory `/c/flac/doc/html' Making all in ru make[4]: Entering directory `/c/flac/doc/html/ru' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/c/flac/doc/html/ru' Making all in images make[4]: Entering directory `/c/flac/doc/html/images' Making all in hw make[5]: Entering directory `/c/flac/doc/html/images/hw' make[5]: Nothing to be done for `all'. make[5]: Leaving directory `/c/flac/doc/html/images/hw' make[5]: Entering directory `/c/flac/doc/html/images' make[5]: Nothing to be done for `all-am'. make[5]: Leaving directory `/c/flac/doc/html/images' make[4]: Leaving directory `/c/flac/doc/html/images' make[4]: Entering directory `/c/flac/doc/html' make[4]: Nothing to be done for `all-am'. make[4]: Leaving directory `/c/flac/doc/html' make[3]: Leaving directory `/c/flac/doc/html' make[2]: Leaving directory `/c/flac/doc' Making all in include make[2]: Entering directory `/c/flac/include' Making all in FLAC make[3]: Entering directory `/c/flac/include/FLAC' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/c/flac/include/FLAC' Making all in FLAC++ make[3]: Entering directory `/c/flac/include/FLAC++' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/c/flac/include/FLAC++' Making all in share make[3]: Entering directory `/c/flac/include/share' Making all in grabbag make[4]: Entering directory `/c/flac/include/share/grabbag' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/c/flac/include/share/grabbag' make[4]: Entering directory `/c/flac/include/share' make[4]: Nothing to be done for `all-am'. make[4]: Leaving directory `/c/flac/include/share' make[3]: Leaving directory `/c/flac/include/share' Making all in test_libs_common make[3]: Entering directory `/c/flac/include/test_libs_common' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/c/flac/include/test_libs_common' make[3]: Entering directory `/c/flac/include' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/c/flac/include' make[2]: Leaving directory `/c/flac/include' Making all in m4 make[2]: Entering directory `/c/flac/m4' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/c/flac/m4' Making all in man make[2]: Entering directory `/c/flac/man' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/c/flac/man' Making all in src make[2]: Entering directory `/c/flac/src' Making all in libFLAC make[3]: Entering directory `/c/flac/src/libFLAC' Making all in include make[4]: Entering directory `/c/flac/src/libFLAC/include' Making all in private make[5]: Entering directory `/c/flac/src/libFLAC/include/private' make[5]: Nothing to be done for `all'. make[5]: Leaving directory `/c/flac/src/libFLAC/include/private' Making all in protected make[5]: Entering directory `/c/flac/src/libFLAC/include/protected' make[5]: Nothing to be done for `all'. make[5]: Leaving directory `/c/flac/src/libFLAC/include/protected' make[5]: Entering directory `/c/flac/src/libFLAC/include' make[5]: Nothing to be done for `all-am'. make[5]: Leaving directory `/c/flac/src/libFLAC/include' make[4]: Leaving directory `/c/flac/src/libFLAC/include' Making all in . make[4]: Entering directory `/c/flac/src/libFLAC' if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DFLaC__INLINE=__inline__ -DNDEBUG -I../.. -I./include -I../../include -O3 -funroll-loops -finline-functions -Wall -W -Winline -g -O2 -MT stream_decoder.lo -MD -MP -MF ".deps/stream_decoder.Tpo" \ -c -o stream_decoder.lo `test -f 'stream_decoder.c' || echo './'`stream_decoder.c; \ then mv -f ".deps/stream_decoder.Tpo" ".deps/stream_decoder.Plo"; \ else rm -f ".deps/stream_decoder.Tpo"; exit 1; \ fi gcc -DHAVE_CONFIG_H -I. -I. -I../.. -DFLaC__INLINE=__inline__ -DNDEBUG -I../.. -I./include -I../../include -O3 -funroll-loops -finline-functions -Wall -W -Winline -g -O2 -MT stream_decoder.lo -MD -MP -MF .deps/stream_decoder.Tpo -c stream_decoder.c -DDLL_EXPORT -DPIC -o .libs/stream_decoder.o In file included from stream_decoder.c:56:0: ../../include/share/alloc.h:41:5: error: #error In file included from stream_decoder.c:56:0: ../../include/share/alloc.h: In function 'safe_malloc_mul_2op_': ../../include/share/alloc.h:120:13: error: 'SIZE_T_MAX' undeclared (first use in this function) ../../include/share/alloc.h:120:13: note: each undeclared identifier is reported only once for each function it appears in ../../include/share/alloc.h: In function 'safe_malloc_mul_3op_': ../../include/share/alloc.h:130:13: error: 'SIZE_T_MAX' undeclared (first use in this function) ../../include/share/alloc.h: In function 'safe_malloc_mul2add_': ../../include/share/alloc.h:143:13: error: 'SIZE_T_MAX' undeclared (first use in this function) ../../include/share/alloc.h: In function 'safe_realloc_mul_2op_': ../../include/share/alloc.h:196:13: error: 'SIZE_T_MAX' undeclared (first use in this function) make[4]: *** [stream_decoder.lo] Error 1 make[4]: Leaving directory `/c/flac/src/libFLAC' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/c/flac/src/libFLAC' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/c/flac/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/c/flac' make: *** [all] Error 2
No worries.
Find limits.h in your mingw32 (or whatever your equivalent is) include dir
and
add this line :-
#define SIZE_T_MAX UINT_MAX /* max value for a size_t */
to it (limits.h).
It's something to do with newer versions of gcc not having that #define or something.
After that you should get a bit further.
I ran into another problem - can't recall what it was now.
It didn't work William...
I modified this one...
{"name":"limits.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/e\/3e8f243da0abbe944aef2d207113e81b.gif","w":939,"h":181,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/e\/3e8f243da0abbe944aef2d207113e81b"}
{"name":"here.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/4\/1\/41eca2ccf27e7b5153ea0629f501dc11.gif","w":1052,"h":874,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/4\/1\/41eca2ccf27e7b5153ea0629f501dc11"}
I can't see those pictures well.
Here's where I put it :
/* MSVC compatibility */ #define _I64_MIN LONG_LONG_MIN #define _I64_MAX LONG_LONG_MAX #define _UI64_MAX ULONG_LONG_MAX EDIT : I think you put it here so it won't get included if the #ifndef isn't true. #endif /* Not Strict ANSI and GNU C compiler */ #define SIZE_T_MAX UINT_MAX /* max value for a size_t */ #endif /* not _LIMITS_H_ */
Thanks I finally managed to install:
Zlib
Freetype
Lpng
Physfs
OpenAL
libOGG
libvorbis
Flac
dumb
libjpg
JESUS!!!!!!!!
With lot of errors... let's see if it works...
EDIT: No I was in the wrong limits.h file...
You got them all installed! Well done.
Awww...
I disable the SHARED option when configuring Allegro to see if I was able to compile the program with static libraries... But doesn't work...
While compile allegro with "SHARE disable" nothing works not even examples... But then I compile it with the SHARED option, and everything works , but again I have to link to the Dlls...
{"name":"shared.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/7\/6742d68fc08eeae8f9f971f9b929cd65.gif","w":1163,"h":846,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/7\/6742d68fc08eeae8f9f971f9b929cd65"}
I linked to the SHARED disable files but ask me for the dlls anyway.. what I'm doing wrong?
PS: I am testing the program in other computer that doesn't have anything to do with Allegro...
Sorry. Don't know.
Start a new thread about it.
You download NASM yet? If yes, are you still getting errors?
Not getting errors from nasm but I'm getting a problem at the linking stage. I'm not sure if there's a linker option missing in the makefile or whether it's all there and there's some library I've not got in place. I think it might be libogg.
ia32/fixed_asm.nasm:308: warning: label alone on a line without a colon might be in error nasm -f elf -d OBJ_FORMAT_elf -i ia32/ ia32/lpc_asm.nasm -o ia32/lpc_asm.release .o ia32/lpc_asm.nasm:1507: warning: label alone on a line without a colon might be in error nasm -f elf -d OBJ_FORMAT_elf -i ia32/ ia32/stream_encoder_asm.nasm -o ia32/stre am_encoder_asm.release.o ia32/stream_encoder_asm.nasm:155: warning: label alone on a line without a colon might be in error ar cru ../../obj/release/lib/libFLAC.a bitmath.release.o bitreader.release.o bit writer.release.o cpu.release.o crc.release.o fixed.release.o float.release.o for mat.release.o lpc.release.o md5.release.o memory.release.o metadata_iterators.re lease.o metadata_object.release.o ogg_decoder_aspect.release.o ogg_encoder_aspec t.release.o ogg_helper.release.o ogg_mapping.release.o stream_decoder.release.o stream_encoder.release.o stream_encoder_framing.release.o window.release.o ia3 2/bitreader_asm.release.o ia32/cpu_asm.release.o ia32/fixed_asm.release.o ia32/l pc_asm.release.o ia32/stream_encoder_asm.release.o && ranlib ../../obj/release/ lib/libFLAC.a gcc -shared -o ../../obj/release/lib/libFLAC.so bitmath.release.o bitreader.rele ase.o bitwriter.release.o cpu.release.o crc.release.o fixed.release.o float.rele ase.o format.release.o lpc.release.o md5.release.o memory.release.o metadata_ite rators.release.o metadata_object.release.o ogg_decoder_aspect.release.o ogg_enco der_aspect.release.o ogg_helper.release.o ogg_mapping.release.o stream_decoder.r elease.o stream_encoder.release.o stream_encoder_framing.release.o window.releas e.o ia32/bitreader_asm.release.o ia32/cpu_asm.release.o ia32/fixed_asm.release .o ia32/lpc_asm.release.o ia32/stream_encoder_asm.release.o -L../../obj/release /lib Cannot export FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap: symbol not defined Cannot export FLAC__cpu_have_cpuid_asm_ia32: symbol not defined Cannot export FLAC__cpu_info_asm_ia32: symbol not defined Cannot export FLAC__cpu_info_extended_amd_asm_ia32: symbol not defined Cannot export FLAC__fixed_compute_best_predictor_asm_ia32_mmx_cmov: symbol not d efined Cannot export FLAC__lpc_compute_autocorrelation_asm_ia32: symbol not defined Cannot export FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow: symbol not defin ed Cannot export FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12: symbol not defined Cannot export FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4: symbol not d efined Cannot export FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8: symbol not d efined Cannot export FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32: symbol not defined Cannot export FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx: sym bol not defined Cannot export FLAC__lpc_restore_signal_asm_ia32: symbol not defined Cannot export FLAC__lpc_restore_signal_asm_ia32_mmx: symbol not defined Cannot export precompute_partition_info_sums_32bit_asm_ia32_: symbol not defined bitreader.release.o:bitreader.c:(.text+0x148): undefined reference to `ntohl@4' bitreader.release.o:bitreader.c:(.text+0x177): undefined reference to `ntohl@4' bitreader.release.o:bitreader.c:(.text+0x190): undefined reference to `ntohl@4' bitreader.release.o:bitreader.c:(.text+0x1a7): undefined reference to `ntohl@4' bitreader.release.o:bitreader.c:(.text+0x1c2): undefined reference to `ntohl@4' bitreader.release.o:bitreader.c:(.text+0x1d8): more undefined references to `nto hl@4' follow cpu.release.o:cpu.c:(.text+0x16): undefined reference to `FLAC__cpu_have_cpuid_a sm_ia32' cpu.release.o:cpu.c:(.text+0x88): undefined reference to `FLAC__cpu_info_asm_ia3 2' cpu.release.o:cpu.c:(.text+0xe9): undefined reference to `FLAC__cpu_info_extende d_amd_asm_ia32' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x16): undefined refere nce to `ogg_stream_init' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x32): undefined refere nce to `ogg_sync_init' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x86): undefined refere nce to `ogg_sync_clear' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0xcb): undefined refere nce to `ogg_stream_reset' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0xd9): undefined refere nce to `ogg_sync_reset' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x107): undefined refer ence to `ogg_stream_reset' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x115): undefined refer ence to `ogg_sync_reset' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x204): undefined refer ence to `ogg_sync_pageout' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x22f): undefined refer ence to `ogg_stream_pagein' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x288): undefined refer ence to `ogg_stream_packetout' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x346): undefined refer ence to `ogg_sync_buffer' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x38f): undefined refer ence to `ogg_sync_wrote' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x3c0): undefined refer ence to `ogg_page_serialno' ogg_decoder_aspect.release.o:ogg_decoder_aspect.c:(.text+0x96): undefined refere nce to `ogg_stream_clear' ogg_encoder_aspect.release.o:ogg_encoder_aspect.c:(.text+0x15): undefined refere nce to `ogg_stream_init' ogg_encoder_aspect.release.o:ogg_encoder_aspect.c:(.text+0x201): undefined refer ence to `ogg_stream_packetin' ogg_encoder_aspect.release.o:ogg_encoder_aspect.c:(.text+0x244): undefined refer ence to `ogg_stream_pageout' ogg_encoder_aspect.release.o:ogg_encoder_aspect.c:(.text+0x2f8): undefined refer ence to `ogg_stream_flush' ogg_encoder_aspect.release.o:ogg_encoder_aspect.c:(.text+0x60): undefined refere nce to `ogg_stream_clear' ogg_helper.release.o:ogg_helper.c:(.text+0x351): undefined reference to `ogg_pag e_checksum_set' ogg_helper.release.o:ogg_helper.c:(.text+0x3d8): undefined reference to `ogg_pag e_checksum_set' stream_decoder.release.o:stream_decoder.c:(.text+0x4fee): undefined reference to `FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap' stream_decoder.release.o:stream_decoder.c:(.text+0x5003): undefined reference to `FLAC__lpc_restore_signal_asm_ia32' stream_decoder.release.o:stream_decoder.c:(.text+0x500a): undefined reference to `FLAC__lpc_restore_signal_asm_ia32_mmx' stream_decoder.release.o:stream_decoder.c:(.text+0x5011): undefined reference to `FLAC__lpc_restore_signal_asm_ia32_mmx' stream_decoder.release.o:stream_decoder.c:(.text+0x513b): undefined reference to `FLAC__lpc_restore_signal_asm_ia32' stream_decoder.release.o:stream_decoder.c:(.text+0x5142): undefined reference to `FLAC__lpc_restore_signal_asm_ia32' stream_decoder.release.o:stream_decoder.c:(.text+0x5149): undefined reference to `FLAC__lpc_restore_signal_asm_ia32' stream_encoder.release.o:stream_encoder.c:(.text+0xce5): undefined reference to `precompute_partition_info_sums_32bit_asm_ia32_' stream_encoder.release.o:stream_encoder.c:(.text+0x48d6): undefined reference to `FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_4' stream_encoder.release.o:stream_encoder.c:(.text+0x48ee): undefined reference to `FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32' stream_encoder.release.o:stream_encoder.c:(.text+0x48f8): undefined reference to `FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx' stream_encoder.release.o:stream_encoder.c:(.text+0x490f): undefined reference to `FLAC__fixed_compute_best_predictor_asm_ia32_mmx_cmov' stream_encoder.release.o:stream_encoder.c:(.text+0x4da7): undefined reference to `FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32' stream_encoder.release.o:stream_encoder.c:(.text+0x4db1): undefined reference to `FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32' stream_encoder.release.o:stream_encoder.c:(.text+0x4dc9): undefined reference to `FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow' stream_encoder.release.o:stream_encoder.c:(.text+0x4e2f): undefined reference to `FLAC__lpc_compute_autocorrelation_asm_ia32' stream_encoder.release.o:stream_encoder.c:(.text+0x4fe5): undefined reference to `FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_8' stream_encoder.release.o:stream_encoder.c:(.text+0x50dd): undefined reference to `FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12' stream_encoder.release.o:stream_encoder.c:(.text+0x52bf): undefined reference to `FLAC__lpc_compute_autocorrelation_asm_ia32' ia32/bitreader_asm.release.o: In function `FLAC__bitreader_read_rice_signed_bloc k_asm_ia32_bswap.c1_loop': ia32/bitreader_asm.nasm:(.text+0x80): undefined reference to `FLAC__crc16_table' ia32/bitreader_asm.release.o: In function `FLAC__bitreader_read_rice_signed_bloc k_asm_ia32_bswap.c1_next2': ia32/bitreader_asm.nasm:(.text+0x10b): undefined reference to `FLAC__crc16_table ' ia32/bitreader_asm.release.o: In function `FLAC__bitreader_read_rice_signed_bloc k_asm_ia32_bswap.read1': ia32/bitreader_asm.nasm:(.text+0x1a4): undefined reference to `bitreader_read_fr om_client_' ia32/bitreader_asm.release.o: In function `FLAC__bitreader_read_rice_signed_bloc k_asm_ia32_bswap.read2': ia32/bitreader_asm.nasm:(.text+0x1f1): undefined reference to `bitreader_read_fr om_client_' ia32/bitreader_asm.release.o: In function `FLAC__bitreader_read_rice_signed_bloc k_asm_ia32_bswap.c2_next4': ia32/bitreader_asm.nasm:(.text+0x25d): undefined reference to `FLAC__crc16_table ' collect2: ld returned 1 exit status mingw32-make[2]: *** [../../obj/release/lib/libFLAC.so] Error 1 mingw32-make[2]: Leaving directory `C:/flac/src/libFLAC' mingw32-make[1]: *** [libFLAC] Error 2 mingw32-make[1]: Leaving directory `C:/flac/src' mingw32-make: *** [src] Error 2 C:\flac>
FLAC is way messed up.
I'd look for binaries if I was you.
Hey William, it gave me the same errors.
But are you using the MinGW Shell??
Because even when it give me those errors its seems that it's compiling.
If you use the Mingw Shell should be in the "local" folder
I type ./configure
make
make install
And in this directory (C:\MinGW\msys\1.0\local) appear the files that I attached, which then I copy to the Mingw directory and detects flac...
I don't know if this can help...
I did Thanks.
With MSYS it compiled with only one error which was easy to fix.
When I run CMake with the allegro CMakeLists file though, it says that dynamic loading of libFLAC will be disabled because a static library was found.
The example ex_acodec doesn't work. Perhaps it's because it needs the dll ?
I also have the same problem
ex_acodec_multi, ex_audio_props, ex_audio_simple doens't work. the rest does..
and I get this from Cmake
Performing Test SUPPORT_GDIPLUS Performing Test SUPPORT_GDIPLUS - Success Found DSOUND: C:/MinGW/include Found OpenAL: C:/MinGW/lib/libOpenAL32.dll.a Found FLAC: C:/MinGW/include Performing Test FLAC_COMPILES Performing Test FLAC_COMPILES - Success
WARNING: Dynamic loading will be disabled for FLAC as static library was found:
C:/MinGW/lib/libFLAC.a Found DUMB: C:/MinGW/include Performing Test DUMB_COMPILES Performing Test DUMB_COMPILES - Success
WARNING: Dynamic loading will be disabled for DUMB as static library was found:
C:/MinGW/lib/libdumb.a Found VORBIS: C:/MinGW/include Performing Test VORBIS_COMPILES Performing Test VORBIS_COMPILES - Success DLL name for C:/MinGW/lib/libvorbisfile.dll.a: libvorbisfile-3.dll Found Freetype: C:/MinGW/lib/libfreetype.dll.a Found ZLIB: C:/MinGW/include (found version "1.2.5") Found PhysFS: C:/MinGW/lib/libphysfs.dll.a Found PHYSFS: C:/MinGW/lib/libphysfs.dll.a Performing Test PHYSFS_IMPLICIT_ZLIB Performing Test PHYSFS_IMPLICIT_ZLIB - Success Configuring done
I just tried something in case it works :
I changed libFLAC.a to libFLAC.dll.a (ie changed the name of the file) and CMake doesn't give that warning so maybe it'll be ok now. I'm recompiling and we'll see if it works.
EDIT : no, still get the same problems.
There is also liballegro-5.0.0-RC4-monolith-static-mt.a I found it in the Allegro Pre-compiled binaries...
The monolith version is a one-size-fits-all build of Allegro. When you link against allegro-monolith, you do not need to link to any other Allegro library. (And so there is no such thing as allegro_module-monolith.) The monolith build can also be static; if so, the same things mentioned above regarding the static build apply to it.
I'm trying to compile it statically I'm putting #define ALLEGRO_STATICLINK before all
Assume you're using MinGW GCC 4.5.0. To compile Allegro as static library with static run-time libraries use following switches:
Switches for source files:
-s -DALLEGRO_SRC -DALLEGRO_STATICLINK -DALLEGRO_LIB_BUILD
Switches for linker:
-lgcc_eh -static-libgcc -static-libstdc++
Switches for executable:
Switches for source files:
-s -DALLEGRO_STATICLINK
Switches for linker:
-lgcc_eh -static-libgcc -static-libstdc++
Libraries:
Allegro and add-ons (list all your application, you may list all they will be ignored if not used):
allegro-5.1.0-static-mt
allegro_audio-5.1.0-static-mt
...
Direct dependencies (libraries used by Allegro):
libFLAC-1.2.1-static-mt
libvorbisfile-1.2.3-static-mt
libvorbis-1.2.3-static-mt
libogg-1.1.4-static-mt
dumb-0.9.3-static-mt
zlib-1.2.5-static-mt
physfs-2.0.0-static-mt
freetype-2.4.2-static-mt
Indirect dependencies (DLL's availabe in system):
gdiplus
uuid
kernel32
winmm
psapi
opengl32
glu32
user32
comdlg32
gdi32
shell32
ole32
advapi32
ws2_32
But I can't understand what he is saying... and you?
EDIT: There is also this recently created manual... but it's for Microsoft Visual Studio 2008... http://wiki.allegro.cc/index.php?title=Configuring_Microsoft_Visual_Studio_2008_For_Allegro_5.0.0
But talks about static linking....
But I still don't get it...
Don't hijack other people's threads with your own questions.
Don't try to compile Allegro if you already have a binary.
I changed libFLAC.a to libFLAC.dll.a (ie changed the name of the file) and CMake doesn't give that warning so maybe it'll be ok now. I'm recompiling and we'll see if it works.
You shouldn't rename it. Anyway, I don't think that warning really matters. I believe it's telling you that Allegro will not enable dynamic linking for FLAC, which means it will be compiled directly into the module and not be an optional DLL.
But why are you even trying to compile Allegro? What's wrong with the binaries?
Compiling everything on Windows is a pain in the butt.
I guess I'm doing it because I want to learn a bit about compiling libraries, but I think from here on, I'll take your sensible suggestion.
I have the same reason that Willima have... I want to learn... and I already mange to compile Allegro on Windows. I thought that was some error there because the ex_acodec_multi, ex_audio_props, ex_audio_simple examples didn't work... But neither does with the Binaries...
Compiling on Windows isn't difficult, the problem is there is not enough information, and that is what I'm trying to do...
I already know how to create the Dynamic libraries, but to complete my manual I have to be able to Link statically Allegro...
I am almost there... The problem is that I can't understand where to put all those Switches for source files and Switches for linker... I don't know if Michał Cichoń did it on purpose, but wrote twice:
Switches for source files ..... Switches for linker: ..... Switches for executable: nothing was here. Switches for source files: ..... Switches for linker: .....
The new manual from wiseguy is very cool... He talks about how to do the static linking but using Visual Studio 2008...
There you go. Nice and fresh build of libFLAC. This is exactly same library which I use to build Allegro.
I do not know what compiler version are you using, so I included all variations in the archive.
Note about compiling foreign libraries:
In case of small libraries I'm preparing build files by myself to make sure everything was set right.
I hope this will help.
I thought that was some error there because the ex_acodec_multi, ex_audio_props, ex_audio_simple examples didn't work... But neither does with the Binaries...
I had a feeling that would be the case. What are we going to do ?
I am almost there... The problem is that I can't understand where to put all those Switches for source files and Switches for linker... I don't know if Michał Cichoń did it on purpose, but wrote twice:
Switches for source files
.....
Switches for linker:
.....
Switches for executable:
nothing was here.
Switches for source files:
.....
Switches for linker:
First set of switches are for compiling library. Switches after "Switches for executable:" are for executables which you want to link the library.
I had a feeling that would be the case. What are we going to do ?
Well... So far I have learned how to use allegro with the binaries, compiling it, and what is left is learn how to do the static linking...
What are we going to do, is not so clear now... But what you want to do is to compile Allegro statically right?
Let me ask Cichón this...
First set of switches are for compiling library. Switches after "Switches for executable:" are for executables which you want to link the library.
First of all, I apologize for my extreme ignorance... But where do I have to put those switches?
What I could found was this, in CodeBlock.
{"name":"find.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/4\/040ff25555a87ef2be9d6cb6dde7acf3.gif","w":782,"h":963,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/4\/040ff25555a87ef2be9d6cb6dde7acf3"}
I put it there, but I got this error...
||=== Trivium, Debug ===| ld.exe||cannot find -libstdc++| ||=== Build finished: 1 errors, 0 warnings ===|
But... if I remove "-libstdc++" I get this...
{"name":"find3.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/b\/7b4e2d27516101597ffbc2c635021545.gif","w":987,"h":463,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/b\/7b4e2d27516101597ffbc2c635021545"}
I'm doing this...
I also found this... But I don't know how to use it...
{"name":"find2.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/0\/101c74ad55d2e9230fa3c12a16e67443.gif","w":780,"h":407,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/0\/101c74ad55d2e9230fa3c12a16e67443"}
'-static-libstdc++' is the parameter, you have split after '-static'.
Also link those libraries too:
gdiplus uuid kernel32 winmm psapi opengl32 glu32 user32 comdlg32 gdi32 shell32 ole32 advapi32 ws2_32
Please keep in mind. Order of libraries does have matter.
Do I have to link them manually???? They are almost all in the System32 Folder...
But I couldn't find "uuid.dll" I just could find uuid.h inside the include folder of MinGW....
I'm getting this...
{"name":"find4.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/b\/3b69ff698f8df309aac1fa40b41e861e.gif","w":1414,"h":789,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/b\/3b69ff698f8df309aac1fa40b41e861e"}
I link all the libraries manually.... Like I did with the Allegro Static MT libraries... and fix the problem you told me ('-static-libstdc++' )
Do I have to link them manually????
You do if you link everything statically.
You do if you link everything statically.
Hmmm... Interesting I'm collecting quite good info with this ...
But I still getting that error...
C:\allegro\addons\image\gdiplus.cpp|444|multiple definition of `_al_shutdown_gdiplus'|
What does that mean?
C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_shutdown_gdiplus':| C:\allegro\addons\image\gdiplus.cpp|444|multiple definition of `_al_shutdown_gdiplus'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_load_gdiplus_bitmap_f':| C:\allegro\addons\image\gdiplus.cpp|220|multiple definition of `_al_load_gdiplus_bitmap_f'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_load_gdiplus_bitmap':| C:\allegro\addons\image\gdiplus.cpp|300|multiple definition of `_al_load_gdiplus_bitmap'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `Z25_al_save_gdiplus_bitmap_fP12ALLEGRO_FILEPKcP14ALLEGRO_BITMAP':| C:\allegro\addons\image\gdiplus.cpp|315|multiple definition of `_al_save_gdiplus_bitmap_f(ALLEGRO_FILE*, char const*, ALLEGRO_BITMAP*)'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_save_gdiplus_bitmap':| C:\allegro\addons\image\gdiplus.cpp|392|multiple definition of `_al_save_gdiplus_bitmap'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_save_gdiplus_png_f':| C:\allegro\addons\image\gdiplus.cpp|410|multiple definition of `_al_save_gdiplus_png_f'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_save_gdiplus_jpg_f':| C:\allegro\addons\image\gdiplus.cpp|415|multiple definition of `_al_save_gdiplus_jpg_f'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_save_gdiplus_tif_f':| C:\allegro\addons\image\gdiplus.cpp|420|multiple definition of `_al_save_gdiplus_tif_f'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_save_gdiplus_gif_f':| C:\allegro\addons\image\gdiplus.cpp|425|multiple definition of `_al_save_gdiplus_gif_f'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| C:\MinGW\addons\image\CMakeFiles\allegro_image.dir\gdiplus.cpp.obj||In function `al_init_gdiplus':| C:\allegro\addons\image\gdiplus.cpp|430|multiple definition of `_al_init_gdiplus'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp|| first defined here| ||Warning: resolving _GetModuleFileNameExA@16 by linking to _GetModuleFileNameExA| ||Warning: resolving _timeEndPeriod@4 by linking to _timeEndPeriod| ||Warning: resolving _timeBeginPeriod@4 by linking to _timeBeginPeriod| ||Warning: resolving _timeGetTime@0 by linking to _timeGetTime| ||Warning: resolving _SwapBuffers@4 by linking to _SwapBuffers| ||Warning: resolving _glFlush@0 by linking to _glFlush| ||Warning: resolving _wglMakeCurrent@8 by linking to _wglMakeCurrent| ||Warning: resolving _wglGetCurrentContext@0 by linking to _wglGetCurrentContext| ||Warning: resolving _glViewport@16 by linking to _glViewport| ||Warning: resolving _glMatrixMode@4 by linking to _glMatrixMode| ||Warning: resolving _glLoadIdentity@0 by linking to _glLoadIdentity| ||Warning: resolving _glOrtho@48 by linking to _glOrtho| ||Warning: resolving _wglDeleteContext@4 by linking to _wglDeleteContext| ||Warning: resolving _wglGetCurrentDC@0 by linking to _wglGetCurrentDC| ||Warning: resolving _ChoosePixelFormat@8 by linking to _ChoosePixelFormat| ||Warning: resolving _DescribePixelFormat@16 by linking to _DescribePixelFormat| ||Warning: resolving _SetPixelFormat@12 by linking to _SetPixelFormat| ||Warning: resolving _wglCreateContext@4 by linking to _wglCreateContext| ||Warning: resolving _glGetString@4 by linking to _glGetString| ||Warning: resolving _wglGetProcAddress@4 by linking to _wglGetProcAddress| ||Warning: resolving _CreateRectRgn@16 by linking to _CreateRectRgn| ||Warning: resolving _GetRegionData@12 by linking to _GetRegionData| ||Warning: resolving _DeleteObject@4 by linking to _DeleteObject| ||Warning: resolving _StretchDIBits@52 by linking to _StretchDIBits| ||Warning: resolving _CreateCompatibleDC@4 by linking to _CreateCompatibleDC| ||Warning: resolving _CreateBitmap@20 by linking to _CreateBitmap| ||Warning: resolving _CreateCompatibleBitmap@12 by linking to _CreateCompatibleBitmap| ||Warning: resolving _SelectObject@8 by linking to _SelectObject| ||Warning: resolving _SetPixel@16 by linking to _SetPixel| ||Warning: resolving _DeleteDC@4 by linking to _DeleteDC| ||Warning: resolving _glGetIntegerv@8 by linking to _glGetIntegerv| ||Warning: resolving _glEnable@4 by linking to _glEnable| ||Warning: resolving _glScissor@16 by linking to _glScissor| ||Warning: resolving _glDisable@4 by linking to _glDisable| ||Warning: resolving _glPushClientAttrib@4 by linking to _glPushClientAttrib| ||Warning: resolving _glPixelStorei@8 by linking to _glPixelStorei| ||Warning: resolving _glGetError@0 by linking to _glGetError| ||Warning: resolving _glBindTexture@8 by linking to _glBindTexture| ||Warning: resolving _glTexSubImage2D@36 by linking to _glTexSubImage2D| ||Warning: resolving _glPopClientAttrib@0 by linking to _glPopClientAttrib| ||Warning: resolving _glDrawPixels@20 by linking to _glDrawPixels| ||Warning: resolving _glPixelTransferi@8 by linking to _glPixelTransferi| ||Warning: resolving _glPushMatrix@0 by linking to _glPushMatrix| ||Warning: resolving _glRasterPos2f@8 by linking to _glRasterPos2f| ||Warning: resolving _glPopMatrix@0 by linking to _glPopMatrix| ||Warning: resolving _glGetTexImage@20 by linking to _glGetTexImage| ||Warning: resolving _glReadPixels@28 by linking to _glReadPixels| ||Warning: resolving _glDeleteTextures@8 by linking to _glDeleteTextures| ||Warning: resolving _glTexImage2D@36 by linking to _glTexImage2D| ||Warning: resolving _glTexParameteri@12 by linking to _glTexParameteri| ||Warning: resolving _glGenTextures@8 by linking to _glGenTextures| ||Warning: resolving _glCopyTexSubImage2D@32 by linking to _glCopyTexSubImage2D| ||Warning: resolving _glBlendFunc@8 by linking to _glBlendFunc| ||Warning: resolving _glTranslatef@12 by linking to _glTranslatef| ||Warning: resolving _glMultMatrixf@4 by linking to _glMultMatrixf| ||Warning: resolving _glLoadMatrixf@4 by linking to _glLoadMatrixf| ||Warning: resolving _glGetBooleanv@8 by linking to _glGetBooleanv| ||Warning: resolving _glEnableClientState@4 by linking to _glEnableClientState| ||Warning: resolving _glVertexPointer@16 by linking to _glVertexPointer| ||Warning: resolving _glTexCoordPointer@16 by linking to _glTexCoordPointer| ||Warning: resolving _glColorPointer@16 by linking to _glColorPointer| ||Warning: resolving _glDrawArrays@12 by linking to _glDrawArrays| ||Warning: resolving _glDisableClientState@4 by linking to _glDisableClientState| ||Warning: resolving _glClearColor@16 by linking to _glClearColor| ||Warning: resolving _glClear@4 by linking to _glClear| ||Warning: resolving _CoInitialize@4 by linking to _CoInitialize| ||Warning: resolving _CoUninitialize@0 by linking to _CoUninitialize| ||Warning: resolving _GdipFree@4 by linking to _GdipFree| ||Warning: resolving _GdipDeleteCustomLineCap@4 by linking to _GdipDeleteCustomLineCap| ||Warning: resolving _GdipDeleteCachedBitmap@4 by linking to _GdipDeleteCachedBitmap| ||Warning: resolving _GdipDeletePrivateFontCollection@4 by linking to _GdipDeletePrivateFontCollection| ||Warning: resolving _GdipCloneImage@8 by linking to _GdipCloneImage| ||Warning: resolving _GdipAlloc@4 by linking to _GdipAlloc| ||Warning: resolving _GdipDisposeImage@4 by linking to _GdipDisposeImage| ||Warning: resolving _GdiplusShutdown@4 by linking to _GdiplusShutdown| ||Warning: resolving _GdipGetImageEncodersSize@8 by linking to _GdipGetImageEncodersSize| ||Warning: resolving _GdipGetImageEncoders@12 by linking to _GdipGetImageEncoders| ||Warning: resolving _GdipCreateBitmapFromStream@8 by linking to _GdipCreateBitmapFromStream| ||Warning: resolving _GdipGetImageWidth@8 by linking to _GdipGetImageWidth| ||Warning: resolving _GdipGetImageHeight@8 by linking to _GdipGetImageHeight| ||Warning: resolving _GdipBitmapLockBits@20 by linking to _GdipBitmapLockBits| ||Warning: resolving _GdipBitmapUnlockBits@8 by linking to _GdipBitmapUnlockBits| ||Warning: resolving _GdipCreateBitmapFromScan0@24 by linking to _GdipCreateBitmapFromScan0| ||Warning: resolving _GdipSaveImageToStream@16 by linking to _GdipSaveImageToStream| ||Warning: resolving _GdiplusStartup@12 by linking to _GdiplusStartup| ||Warning: resolving _waveInStop@4 by linking to _waveInStop| ||Warning: resolving _waveInStart@4 by linking to _waveInStart| ||Warning: resolving _waveInReset@4 by linking to _waveInReset| ||Warning: resolving _waveInUnprepareHeader@12 by linking to _waveInUnprepareHeader| ||Warning: resolving _waveInClose@4 by linking to _waveInClose| ||Warning: resolving _waveInGetNumDevs@0 by linking to _waveInGetNumDevs| ||Warning: resolving _waveInGetDevCapsA@12 by linking to _waveInGetDevCapsA| ||Warning: resolving _waveInOpen@24 by linking to _waveInOpen| ||Warning: resolving _waveInPrepareHeader@12 by linking to _waveInPrepareHeader| ||Warning: resolving _waveInAddBuffer@12 by linking to _waveInAddBuffer| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp:(.text$_ZN20AllegroWindowsStream14QueryInterfaceERK5_GUIDPPv+0x10)||undefined reference to `IID_IUnknown'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp:(.text$_ZN20AllegroWindowsStream14QueryInterfaceERK5_GUIDPPv+0x3d)||undefined reference to `IID_ISequentialStream'| C:\allegro5\lib\liballegro_image-5.0.0-RC4-static-mt.a(gdiplus.o):gdiplus.cpp:(.text$_ZN20AllegroWindowsStream14QueryInterfaceERK5_GUIDPPv+0x4d)||undefined reference to `IID_IStream'| C:\MinGW\CMakeFiles\OpenAL32.dir\Alc\winmm.obj||In function `WinMMOpenCapture':| C:\openal\Alc\winmm.c|243|undefined reference to `alcSetError'| C:\MinGW\CMakeFiles\OpenAL32.dir\Alc\winmm.obj||In function `CaptureThreadProc@4':| C:\openal\Alc\winmm.c|136|undefined reference to `SuspendContext'| C:\openal\Alc\winmm.c|175|undefined reference to `ProcessContext'| C:\MinGW\CMakeFiles\OpenAL32.dir\Alc\winmm.obj||In function `alcWinMMProbe':| C:\openal\Alc\winmm.c|493|undefined reference to `AppendCaptureDeviceList'| C:\MinGW\CMakeFiles\OpenAL32.dir\Alc\winmm.obj||In function `WinMMCaptureSamples':| C:\openal\Alc\winmm.c|414|undefined reference to `alcSetError'| ||=== Build finished: 28 errors, 95 warnings ===|
liballegro_image-5.0.0-RC4-static-mt.a is a library from pre-build binaries. Remove it from linking. Why? Because you build you own version, right? You will probably have to do same thing with rest of 5.0.0-RC4 libs.
Yes but I'm using the pre-build binaries to stay away from errors... My plan is to learn how to statically link Allegro with the pre-build one and then try with my own static libraries....
Since actually I am not completely sure if my compilation of allegro works 100%, I'm using the pre-build ones that I know that works 100%...
I used the binaries of my compilation and works fine... But to stay away from errors I'm doing that... There is no problem right?
But what you want to do is to compile Allegro statically right?
What I think I want is to have a set of examples that work as intended by any means possible.
With the statically linked version, can't you just set an option in CMake ?
You cannot link your executable both with your version and pre-build binaries at once. Use one version at the time and switch between.
Indeed, why would you not expect to get a multiple definition error if you link to the same libs twice?
What I think I want is to have a set of examples that work as intended by any means possible.
Well, all my examples works except those of audio... even the demo works (with audio)...
I don't know what is happening with those examples... maybe it's a problem of those examples I don't know...
But the rest of examples works right???
You cannot link your executable both with your version and pre-build binaries at once. Use one version at the time and switch between.
I'm doing that???? I didn't know....
Lets see, I'm going to reinstall everything... I'm going to use just the Pre-build binaries at first time...
I'm doing that???? I didn't know....
The monolith lib contains ALL of the allegro addon libs, and many of its dependencies, all balled up into one single library. If you also link to other allegro addon libs, you'll get duplication errors, since you're linking to some of the same code more than once.
I DID IT!!!! I DID IT!!! I STATICALLY LINK ALLEGRO ON WINDOWS!!!
YHEAAAAAAAA!!!!
WOOOOW FINALLY.. About two days on this...
Anyway, since I couldn't find the uuid.dll in my PC (Windows Vista) , I searched for it on my Windows XP machine, and found a "libuuid.a" file inside "C:\Program Files\CodeBlocks\MinGW\lib". Which I link to... AND WORKS!!!!! YHEA!!!!!
I don't remember why I did install CodeBlock with Mingw if I always use the Mingw installer, but anyway was.... "The destiny"
But why couldn't find the uuid.dll file on windows vista???? Isn't a system file???