MadTracker-FOSS / MadTracker3

Continuation of the MadTracker project, aimed at Windows/Mac/Linux support
Other
38 stars 1 forks source link

64-bit Compilation Fails #12

Open flibitijibibo opened 11 years ago

flibitijibibo commented 11 years ago

This almost falls into Issue #3, but it's a bit worse than just having a bunch of x86 asm everywhere. There is a lot of pointer-y stuff being thrown about, and on 64-bit this gets ugly fast due to everything being written with only 32-bit in mind.

It's hard to determine if the errors will be genuinely problematic or if it's just bad precision at the compilation stage. Just fix them as you see them, but get worried if the errors hover around areas that directly deal with MadTracker-related data. That will probably mean redesigning the file format to work on any architecture.

AmEv7Fam commented 11 years ago

Just tried comiling. A lot of fpermissive stuff, yet again.....

Also, at least on Debian/Ubuntu, you CANNOT compile in 32-bit mode on 64-bit. 32-only works as expected.

AmEv7Fam commented 11 years ago

Here's an example of one:

[ 1%] Building CXX object CMakeFiles/madtracker3.dir/MT3/MTExtensions.cpp.o /home/ammon/NetBeansProjects/MadTracker3/MT3/MTExtensions.cpp: In member function ‘virtual void MT3Interface::notify(void, int, int)’: /home/ammon/NetBeansProjects/MadTracker3/MT3/MTExtensions.cpp:309:38: error: cast from ‘void’ to ‘int’ loses precision [-fpermissive] /home/ammon/NetBeansProjects/MadTracker3/MT3/MTExtensions.cpp: In member function ‘virtual bool MT3Interface::editobject(void, bool)’: /home/ammon/NetBeansProjects/MadTracker3/MT3/MTExtensions.cpp:385:22: error: cast from ‘void’ to ‘int’ loses precision [-fpermissive] /home/ammon/NetBeansProjects/MadTracker3/MT3/MTExtensions.cpp: In function ‘void unloadExtensions()’: /home/ammon/NetBeansProjects/MadTracker3/MT3/MTExtensions.cpp:777:10: warning: deleting object of polymorphic class type ‘MT3Interface’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor] make[2]: * [CMakeFiles/madtracker3.dir/MT3/MTExtensions.cpp.o] Error 1 make[1]: * [CMakeFiles/madtracker3.dir/all] Error 2 make: *\ [all] Error 2

Note: make madtracker3 works PERFECTLY on 32-bit.