libretro / dosbox-libretro

Port of DOSBox (upstream) to the libretro API.
GNU General Public License v2.0
61 stars 40 forks source link

[#103 Fix] Add retro_midi_interface struct definition #104

Closed SuperFromND closed 5 years ago

SuperFromND commented 5 years ago

Turns out that, when you merged PR #101 and #102, it removed both of the definitions for retro_midi_interface. As you might have guessed, that causes problems. This adds back one of the definitions, specifically the one that I removed in PR #102.

This should fix #103 (at least in theory; I haven't actually tested a compile yet; relying on Travis CI for convenience sake instead).

SuperFromND commented 5 years ago

Hrm. I guess not. Travis CI reports a failed build.

src/misc/../../libretro/libretro.h:1256:59: error: expected constructor, destructor, or type conversion before ‘(’ token
 ENENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE (43 | RETRO_ENVIRONMENT_EXPERIMENTAL)
SuperFromND commented 5 years ago

I noticed in the diff that a line was erroneously modified. Re-opening to see if that was the reason the build failed.

SuperFromND commented 5 years ago

Okay, so lr-dosbox itself passed fine on Travis CI, but oddly the Wii U build failed; but not because of anything on this repo, but because of something seemingly unrelated:

cp: cannot stat ‘objs/wiiu-salamander/retroarch_wiiu_salamander.rpx’: No such file or directory
Negatifff commented 5 years ago

Hello.

I don't know complete patch or not, but I try to compile and see next:

libretro/libretro.cpp: In function ‘void retro_init()’:
libretro/libretro.cpp:671:40: error: aggregate ‘retro_midi_interface midi_interface’ has incomplete type and cannot be defined
     static struct retro_midi_interface midi_interface;
                                        ^~~~~~~~~~~~~~
libretro/libretro.cpp: In function ‘void retro_run()’:
libretro/libretro.cpp:806:53: error: invalid use of incomplete type ‘struct retro_midi_interface’
     if (retro_midi_interface && retro_midi_interface->output_enabled())
                                                     ^~
libretro/libretro.cpp:94:15: note: forward declaration of ‘struct retro_midi_interface’
 extern struct retro_midi_interface *retro_midi_interface;
               ^~~~~~~~~~~~~~~~~~~~
libretro/libretro.cpp:807:29: error: invalid use of incomplete type ‘struct retro_midi_interface’
         retro_midi_interface->flush();
                             ^~
libretro/libretro.cpp:94:15: note: forward declaration of ‘struct retro_midi_interface’
 extern struct retro_midi_interface *retro_midi_interface;
               ^~~~~~~~~~~~~~~~~~~~
Makefile.libretro:189: recipe for target 'libretro/libretro.o' failed
make: *** [libretro/libretro.o] Error 1
make: *** Waiting for unfinished jobs....
/home/pi
Could not successfully build lr-dosbox - DOS emulator (/home/pi/RetroPie-Setup/tmp/build/lr-dosbox/dosbox_libretro.so not found).

Log ended at: Fri 14 Sep 19:13:47 EEST 2018
Total running time: 0 hours, 4 mins, 26 secs

I apologize if I hurry the events :)