Playing a movie?

BlitzMax Forums/BlitzMax Programming/Playing a movie?

Ravl(Posted 2013) [#1]
Is there any module/class for this?

I am interested in playing a fullscreen movie (like in intro) but also small movies somewhere on the screen near my game graphics..


xlsior(Posted 2013) [#2]
There's several modules:

bah.theora (includes support for synced sound)
pantson.theora (video only)
pantson.mpeg (GPL license, which would affect the licensing of your program too)
ofx.mod (mpeg-4 movie player among others)

and there's some tweaks in the code archives that allow you to play quicktime movies.

The bah.theora one is probably the best one to use since it supports sound as well -- there's free converters from other video formats available


GfK(Posted 2013) [#3]
Wasn't aware of the bah.theora one. Thanks for the heads-up.


Ravl(Posted 2013) [#4]
I cannot find anywhere a download link for bah.theora

I looked over Brucey's page here: https://code.google.com/p/maxmods/

but no luck..


GfK(Posted 2013) [#5]
I found it here, thanks only to Google.


Brucey(Posted 2013) [#6]
Good old Google!

Stuff in SVN that doesn't have a "release" zip is generally classed as a WIP. When I think it is stable/working well enough I then do a proper release.

So you'll find lots of things in the bah.mod SVN that doesn't have a release yet.

That said, there's probably stuff there that could be released already...


Ravl(Posted 2013) [#7]
oh.. thanks guys.

I admit I did not give a search on Google. I will take a look ASAP


Ravl(Posted 2013) [#8]
I am trying to build the modules and:

►bah.theoraplayer was scheduled to next iteration
In file included from C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp:21:
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:64:22: ogg/ogg.h: No such file or directory
In file included from C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp:21:
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:214: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:217: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:220: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:223: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:227: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:235: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:240: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:241: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:252: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:253: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:411: error: `ogg_uint16_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:413: error: `ogg_uint16_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:441: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:466: error: `ogg_uint32_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:476: error: `ogg_int64_t' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:488: error: `ogg_int64_t' has not been declared
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:488: error: ISO C++ forbids declaration of `_granpos' with no type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:498: error: `ogg_packet' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:498: error: `_op' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:509: error: `ogg_packet' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/codec.h:509: error: `_op' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp:22:27: vorbis/codec.h: No such file or directory
In file included from C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp:23:
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:13:31: vorbis/vorbisfile.h: No such file or directory
In file included from C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:14,
                 from C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp:23:
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/theoradec.h:232: error: `ogg_packet' has not been declared
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/theoradec.h:232: error: ISO C++ forbids declaration of `_op' with no type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/theoradec.h:294: error: expected `,' or `...' before '*' token
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheora/include/theora/theoradec.h:295: error: ISO C++ forbids declaration of `ogg_packet' with no type
In file included from C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp:23:
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:21: error: `ogg_sync_state' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:22: error: `ogg_page' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:23: error: `ogg_stream_state' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:24: error: `ogg_stream_state' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:31: error: `vorbis_info' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:32: error: `vorbis_dsp_state' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:33: error: `vorbis_block' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/Theora/TheoraVideoClip_Theora.h:34: error: `vorbis_comment' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp: In constructor `TheoraVideoManager::TheoraVideoManager(int)':
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp:82: error: `vorbis_version_string' was not declared in this scope
Build Error: failed to compile C:/BlitzMax/mod/bah.mod/theoraplayer.mod/libtheoraplayer/src/TheoraVideoManager.cpp
►bah.theoraplayerbass was scheduled to next iteration
In file included from C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:28:
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.h:34:18: bass.h: No such file or directory
In file included from C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:28:
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.h:44: error: `HSTREAM' does not name a type
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp: In constructor `BASS_AudioInterface::BASS_AudioInterface(TheoraVideoClip*, int, int)':
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:34: error: `mStream' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:34: error: `BASS_SAMPLE_FLOAT' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:34: error: `STREAMPROC_PUSH' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:34: error: `BASS_StreamCreate' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp: In destructor `virtual BASS_AudioInterface::~BASS_AudioInterface()':
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:52: error: `mStream' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:52: error: `BASS_StreamFree' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp: In member function `virtual void BASS_AudioInterface::insertData(float*, int)':
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:68: error: `DWORD' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:68: error: expected `;' before "err"
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:72: error: expected `;' before "state"
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:74: error: `state' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:74: error: `BASS_ACTIVE_PLAYING' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:75: error: `mStream' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:75: error: `BASS_ChannelPlay' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp: In member function `virtual void BASS_AudioInterface::update(float)':
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:87: error: `mStream' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:87: error: `BASS_ChannelIsActive' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:89: error: `BASS_POS_BYTE' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:89: error: `BASS_ChannelGetPosition' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:89: error: `BASS_ChannelBytes2Seconds' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp: In member function `virtual void BASS_AudioInterface::pause()':
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:99: error: `mStream' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:99: error: `BASS_ChannelPause' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp: In member function `virtual void BASS_AudioInterface::play()':
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:105: error: `mStream' was not declared in this scope
C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp:105: error: `BASS_ChannelPlay' was not declared in this scope
Build Error: failed to compile C:/BlitzMax/mod/bah.mod/theoraplayerbass.mod/audio_interface/src/BASS_AudioInterface.cpp
►bah.theoraplayeropenal was scheduled to next iteration
Compile Error: Can't find interface for module 'bah.theoraplayer'
[C:/BlitzMax/mod/bah.mod/theoraplayeropenal.mod/source.bmx;28;1]
Build Error: failed to compile C:/BlitzMax/mod/bah.mod/theoraplayeropenal.mod/source.bmx
►►►►bah.theoraplayer was not built. See error information on latest attempt.
►►►►bah.theoraplayerbass was not built. See error information on latest attempt.
►►►►bah.theoraplayeropenal was not built. See error information on latest attempt.



Brucey(Posted 2013) [#9]
You'll probably need some more bah.mod modules :
oggvorbis.mod


and for the bass specific audio that theoraplayerbass.mod uses :
bass.mod


The oggvorbis one is required because the one that ships with BlitzMax is rather out-of-date.


Ravl(Posted 2013) [#10]
on my home pc works fine, but at the office when I try to compile the same example I receive:

C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x12): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x290): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x29c): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x2be): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x2e4): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x53c): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x548): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x564): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x58a): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x74e): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x78d): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x7a8): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x7ce): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x992): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x9d1): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x9ec): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0xa12): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0xbd6): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0xc15): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0xcfb): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0xd24): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x107d): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x10a5): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x130a): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x1333): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x15e3): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x1702): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x1af0): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x1b16): undefined reference to `_Unwind_SjLj_Register'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x1b9a): undefined reference to `_Unwind_SjLj_Resume'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x1bfa): undefined reference to `_Unwind_SjLj_Unregister'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text$_ZN23_TheoraGenericExceptionD1Ev[__ZN23_TheoraGenericExceptionD1Ev]+0xc): undefined reference to `__gxx_personality_sj0'
C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text$_ZN23_TheoraGenericExceptionD1Ev[__ZN23_TheoraGenericExceptionD1Ev]+0x32): undefined reference to `_Unwind_SjLj_Register'


there is more but I dont think it's relevant now.


Derron(Posted 2013) [#11]
Wrong MinGW (use a SjLJ-version)


bye
Ron


Brucey(Posted 2013) [#12]
You have an incomplete install of a different MinGW, by the sounds of it - since you are building everything from source, it appears you have an sjlj of MinGW but are mixing it with a non-sjlj version.

When you use something like TDM MinGW, you also need to update the BlitzMax bin and lib folders.


Ravl(Posted 2013) [#13]
i removed my previous MinGW.

searched the topics here and found this one: http://www.blitzbasic.com/Community/posts.php?topic=90964

I used that particular version ( gcc.exe (GCC) 3.4.5 (mingw-vista special r3) ) and it compiles all the bah modules but when try to run the example does not work (the error message from the previous post)

I downloaded the MinGW isntaller from the net. Made tan update to the last version. It cannot compile the bah modules (only the bass one)

Which version should I try now?


Derron(Posted 2013) [#14]
If you are using a "bah.XXX"-module, try this:
http://www.blitzmax.com/Community/posts.php?topic=95220

Brucey uses SJLJ-minGW so you'd better follow the instructions in his subforum - there are also discussions about how to compile wxMAX.

Think these could help you too.


bye
Ron


Ravl(Posted 2013) [#15]
I followed those instructions but nothing is working anymore :)

The modules were compiled fine, when try to run any program I receive this:

g++: error: unrecognized command line option '--stack=4194304'
Build Error: Failed to link C:\BlitzMax\mod\bah.mod\theoraplayer.mod\examples\example_01.debug.exe


Derron(Posted 2013) [#16]
Then you might try a newer minGW with SJLJ (check the downloads on the dragon-tdm).

Remember to copy the ld/ar and lib files as brucey stated (or use one of the batch files available in the threads within bruceys subforum).


bye
Ron


Ravl(Posted 2013) [#17]
so,

1) Install MinGW in the usual place. ( I installed 4.8.1 from the MinGW installer: mingw32-base and g++)

2) Make sure to add both the MINGW environment variable and add it's bin dir to the PATH - as per normal. (checked)

3) Install BlitzMax. (checked...)

4) Unpack my bundle, and copy the files from bin and lib into their respective folders in your BlitzMax install. (done)

5) Rebuild All modules (done)

but

Result:
g++: error: unrecognized command line option '--stack=4194304'


I installed from http://tdm-gcc.tdragon.net/download the last version: 29.3 MB · GCC 4.8.1 and the same results...


Derron(Posted 2013) [#18]
According to this thread:
http://www.blitzbasic.co.nz/Community/posts.php?topic=101593

LT had a similar error with "--stack=..."

Brucey answered:

I had to make modifications to bmk to get theoraplayer to build/link in with TDM 4.8.1.

The latest MinGW introduces "native" pthread support via an extra static library, which must be linked in the correct order. So it looks like this will be a requirement for newer versions of MinGW from now on.



and later redirected to the following link:
TDM 4.7.1 here : http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/

There you could try the 4.7.1 version (including rebuilding etc) as it is assumed to have less problems for the moment.


bye
Ron


Ravl(Posted 2013) [#19]
ok,

I installed the 4.7.1, rebuild all the modules.

try to build my latest game:

when linking my main.debug.exe:
g++: error: unrecognized command line option '--stack=4194304'
Build Error: Failed to link C:\Users\Ravl\Desktop\RVLAHOG\RVLAHOG - Win\AHOGEngine\main.debug.exe


Brucey(Posted 2013) [#20]
I'm pretty sure your BlitzMax (with those modules) should work with whatever is the recommended MinGW. The reason you see sjlj link errors is not due to my modules - because only the wxMax static libraries have been built with TDM. All the stuff you are building you are building with your own MinGW, and therefore it would have been a bad setup of that MinGW that raised those sjlj errors that you were getting before.

Yes, go for TDM 4.7.1, probably, if you are using the default bmk :-)


Ravl(Posted 2013) [#21]
I uninstalled Blitzmax and MinGW and all the files etc...

1. I reinstalled blitzmax
2. I copy paste all the mods
3. I installed 4.7.1
4. Start Blitzmax, compile all the modules.

I was able to run again my game (so this is good)

but when I try to run a sample from theora samples:

C:/BlitzMax/mod/bah.mod/theoraplayer.mod/theoraplayer.debug.win32.x86.a(TheoraVideoClip.cpp.debug.win32.x86.o):TheoraVideoClip.cpp:(.text+0x15): undefined reference to `__gxx_personality_sj0

also, I am pretty sure that back to my home I did not installed any TDM (it's 1st time I hear about this site) and I had not these issues there... i just have a random MinGW version...


Brucey(Posted 2013) [#22]
Running something like this may help to get MinGW working correctly.

And then rebuild the modules.


Ravl(Posted 2013) [#23]
thanks man! now the sample is working fine.

i have to run home now and start making some tests with this code now..