Mednafen Members Members   Search Search   Help Help   Register Register   Login Login   Home Home
Home » Mednafen » Development » How do I compile Mednafen from source?
Show: Today's Messages  :: Show Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
icon5.gif  How do I compile Mednafen from source? [message #4062] Thu, 25 June 2015 11:07 Go to next message
RaichuBender  [PM]
Edit: I am using Windows 7 and Vista, but I'll try to compile it in Ubuntu. Result in a moment...

Hello developers,

I wanted to compile Mednafen the other day, but couldn't find out how to do it. I thought I could just simply import the code into Code::Blocks and compile it with gcc.exe that came with MingW. However, it seems that the source is missing files. Here is the build log:

-------------- Build: Debug in VirtualDragon (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -Wall -g -I..\..\mednafen\src\cdplay -I..\..\mednafen\src\cdrom -I..\..\mednafen\src\compress -I..\..\mednafen\src\cputest -I..\..\mednafen\src\demo -I..\..\mednafen\src\desa68 -I..\..\mednafen\src\drivers -I..\..\mednafen\src\drivers_dos -I..\..\mednafen\src\gb -I..\..\mednafen\src\gba -I..\..\mednafen\src\hash -I..\..\mednafen\src\hw_cpu -I..\..\mednafen\src\hw_cpu\c68k -I..\..\mednafen\src\hw_cpu\huc6280 -I..\..\mednafen\src\hw_cpu\v810 -I..\..\mednafen\src\hw_cpu\z80-fuse -I..\..\mednafen\src\hw_misc -I..\..\mednafen\src\hw_misc\arcade_card -I..\..\mednafen\src\hw_sound -I..\..\mednafen\src\hw_sound\gb_apu -I..\..\mednafen\src\hw_sound\pce_psg -I..\..\mednafen\src\hw_sound\sms_apu -I..\..\mednafen\src\hw_sound\ym2413 -I..\..\mednafen\src\hw_sound\ym2612 -I..\..\mednafen\src\hw_video -I..\..\mednafen\src\hw_video\huc6270 -I..\..\mednafen\src\lynx -I..\..\mednafen\src\md -I..\..\mednafen\src\md\cart -I..\..\mednafen\src\md\cd -I..\..\mednafen\src\md\input -I..\..\mednafen\src\mpcdec -I..\..\mednafen\src\nes -I..\..\mednafen\src\nes\boards -I..\..\mednafen\src\nes\input -I..\..\mednafen\src\nes\ntsc -I..\..\mednafen\src\nes\ppu -I..\..\mednafen\src\nes\ppu\palettes -I..\..\mednafen\src\ngp -I..\..\mednafen\src\ngp\TLCS-900h -I..\..\mednafen\src\pce -I..\..\mednafen\src\pce\input -I..\..\mednafen\src\pce\notes -I..\..\mednafen\src\pce_fast -I..\..\mednafen\src\pcfx -I..\..\mednafen\src\pcfx\input -I..\..\mednafen\src\pcfx\notes -I..\..\mednafen\src\psx -I..\..\mednafen\src\psx\input -I..\..\mednafen\src\psx\notes -I..\..\mednafen\src\quicklz -I..\..\mednafen\src\resampler -I..\..\mednafen\src\sexyal -I..\..\mednafen\src\sexyal\drivers -I..\..\mednafen\src\sms -I..\..\mednafen\src\sms\docs -I..\..\mednafen\src\snes -I..\..\mednafen\src\snes\src -I..\..\mednafen\src\snes\src\cartridge -I..\..\mednafen\src\snes\src\cheat -I..\..\mednafen\src\snes\src\chip -I..\..\mednafen\src\snes\src\chip\bsx -I..\..\mednafen\src\snes\src\chip\cx4 -I..\..\mednafen\src\snes\src\chip\dsp1 -I..\..\mednafen\src\snes\src\chip\dsp2 -I..\..\mednafen\src\snes\src\chip\dsp3 -I..\..\mednafen\src\snes\src\chip\dsp4 -I..\..\mednafen\src\snes\src\chip\obc1 -I..\..\mednafen\src\snes\src\chip\sa1 -I..\..\mednafen\src\snes\src\chip\sa1\bus -I..\..\mednafen\src\snes\src\chip\sa1\dma -I..\..\mednafen\src\snes\src\chip\sa1\memory -I..\..\mednafen\src\snes\src\chip\sa1\mmio -I..\..\mednafen\src\snes\src\chip\sdd1 -I..\..\mednafen\src\snes\src\chip\spc7110 -I..\..\mednafen\src\snes\src\chip\srtc -I..\..\mednafen\src\snes\src\chip\st010 -I..\..\mednafen\src\snes\src\chip\superfx -I..\..\mednafen\src\snes\src\chip\superfx\bus -I..\..\mednafen\src\snes\src\chip\superfx\core -I..\..\mednafen\src\snes\src\chip\superfx\disasm -I..\..\mednafen\src\snes\src\chip\superfx\memory -I..\..\mednafen\src\snes\src\chip\superfx\mmio -I..\..\mednafen\src\snes\src\chip\superfx\timing -I..\..\mednafen\src\snes\src\cpu -I..\..\mednafen\src\snes\src\cpu\core -I..\..\mednafen\src\snes\src\cpu\core\disassembler -I..\..\mednafen\src\snes\src\cpu\scpu -I..\..\mednafen\src\snes\src\cpu\scpu\debugger -I..\..\mednafen\src\snes\src\cpu\scpu\dma -I..\..\mednafen\src\snes\src\cpu\scpu\memory -I..\..\mednafen\src\snes\src\cpu\scpu\mmio -I..\..\mednafen\src\snes\src\cpu\scpu\timing -I..\..\mednafen\src\snes\src\data -I..\..\mednafen\src\snes\src\lib -I..\..\mednafen\src\snes\src\lib\libco -I..\..\mednafen\src\snes\src\lib\libco\blargg_libco_ppc64-5 -I..\..\mednafen\src\snes\src\lib\libco\blargg_libco_ppc64-5\libco -I..\..\mednafen\src\snes\src\lib\nall -I..\..\mednafen\src\snes\src\memory -I..\..\mednafen\src\snes\src\memory\smemory -I..\..\mednafen\src\snes\src\ppu -I..\..\mednafen\src\snes\src\ppu\debugger -I..\..\mednafen\src\snes\src\ppu\memory -I..\..\mednafen\src\snes\src\ppu\mmio -I..\..\mednafen\src\snes\src\ppu\render -I..\..\mednafen\src\snes\src\sdsp -I..\..\mednafen\src\snes\src\smp -I..\..\mednafen\src\snes\src\smp\core -I..\..\mednafen\src\snes\src\smp\core\disassembler -I..\..\mednafen\src\snes\src\smp\ssmp -I..\..\mednafen\src\snes\src\smp\ssmp\debugger -I..\..\mednafen\src\snes\src\smp\ssmp\memory -I..\..\mednafen\src\snes\src\smp\ssmp\timing -I..\..\mednafen\src\snes\src\system -I..\..\mednafen\src\snes\src\system\audio -I..\..\mednafen\src\snes\src\system\config -I..\..\mednafen\src\snes\src\system\debugger -I..\..\mednafen\src\snes\src\system\input -I..\..\mednafen\src\snes\src\system\interface -I..\..\mednafen\src\snes\src\system\scheduler -I..\..\mednafen\src\snes\src\system\video -I..\..\mednafen\src\sound -I..\..\mednafen\src\string -I..\..\mednafen\src\tremor -I..\..\mednafen\src\trio -I..\..\mednafen\src\vb -I..\..\mednafen\src\video -I..\..\mednafen\src\wswan -I..\..\mednafen\src\wswan\dis -I..\..\mednafen -I..\..\mednafen\include -I..\..\mednafen\include\trio -I..\..\mednafen\intl -I..\..\mednafen\m4 -I..\..\mednafen\po -I..\..\External -c E:\mednafen\intl\dcigettext.c -o obj\Debug\mednafen\intl\dcigettext.o
In file included from E:\mednafen\intl\dcigettext.c:94:0:
E:\mednafen\intl\gettextP.h:72:25: fatal error: libgnuintl.h: No such file or directory
compilation terminated.
Process terminated with status 1 (0 minute(s), 4 second(s))
1 error(s), 0 warning(s) (0 minute(s), 4 second(s))
 


Apparently, libgnuintl.h was missing from the source, so I downloaded it from the official Apple website (you know, the creators of the iPhone and Mac). Here is the URL: http://www.opensource.apple.com/source/bash/bash-86.1/libgnuintl.h

After downloading that header file and importing it in the code, it still gave me errors.

Here is the new build log:
-------------- Build: Debug in VirtualDragon (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -Wall -g -I..\..\mednafen\src\cdplay -I..\..\mednafen\src\cdrom -I..\..\mednafen\src\compress -I..\..\mednafen\src\cputest -I..\..\mednafen\src\demo -I..\..\mednafen\src\desa68 -I..\..\mednafen\src\drivers -I..\..\mednafen\src\drivers_dos -I..\..\mednafen\src\gb -I..\..\mednafen\src\gba -I..\..\mednafen\src\hash -I..\..\mednafen\src\hw_cpu -I..\..\mednafen\src\hw_cpu\c68k -I..\..\mednafen\src\hw_cpu\huc6280 -I..\..\mednafen\src\hw_cpu\v810 -I..\..\mednafen\src\hw_cpu\z80-fuse -I..\..\mednafen\src\hw_misc -I..\..\mednafen\src\hw_misc\arcade_card -I..\..\mednafen\src\hw_sound -I..\..\mednafen\src\hw_sound\gb_apu -I..\..\mednafen\src\hw_sound\pce_psg -I..\..\mednafen\src\hw_sound\sms_apu -I..\..\mednafen\src\hw_sound\ym2413 -I..\..\mednafen\src\hw_sound\ym2612 -I..\..\mednafen\src\hw_video -I..\..\mednafen\src\hw_video\huc6270 -I..\..\mednafen\src\lynx -I..\..\mednafen\src\md -I..\..\mednafen\src\md\cart -I..\..\mednafen\src\md\cd -I..\..\mednafen\src\md\input -I..\..\mednafen\src\mpcdec -I..\..\mednafen\src\nes -I..\..\mednafen\src\nes\boards -I..\..\mednafen\src\nes\input -I..\..\mednafen\src\nes\ntsc -I..\..\mednafen\src\nes\ppu -I..\..\mednafen\src\nes\ppu\palettes -I..\..\mednafen\src\ngp -I..\..\mednafen\src\ngp\TLCS-900h -I..\..\mednafen\src\pce -I..\..\mednafen\src\pce\input -I..\..\mednafen\src\pce\notes -I..\..\mednafen\src\pce_fast -I..\..\mednafen\src\pcfx -I..\..\mednafen\src\pcfx\input -I..\..\mednafen\src\pcfx\notes -I..\..\mednafen\src\psx -I..\..\mednafen\src\psx\input -I..\..\mednafen\src\psx\notes -I..\..\mednafen\src\quicklz -I..\..\mednafen\src\resampler -I..\..\mednafen\src\sexyal -I..\..\mednafen\src\sexyal\drivers -I..\..\mednafen\src\sms -I..\..\mednafen\src\sms\docs -I..\..\mednafen\src\snes -I..\..\mednafen\src\snes\src -I..\..\mednafen\src\snes\src\cartridge -I..\..\mednafen\src\snes\src\cheat -I..\..\mednafen\src\snes\src\chip -I..\..\mednafen\src\snes\src\chip\bsx -I..\..\mednafen\src\snes\src\chip\cx4 -I..\..\mednafen\src\snes\src\chip\dsp1 -I..\..\mednafen\src\snes\src\chip\dsp2 -I..\..\mednafen\src\snes\src\chip\dsp3 -I..\..\mednafen\src\snes\src\chip\dsp4 -I..\..\mednafen\src\snes\src\chip\obc1 -I..\..\mednafen\src\snes\src\chip\sa1 -I..\..\mednafen\src\snes\src\chip\sa1\bus -I..\..\mednafen\src\snes\src\chip\sa1\dma -I..\..\mednafen\src\snes\src\chip\sa1\memory -I..\..\mednafen\src\snes\src\chip\sa1\mmio -I..\..\mednafen\src\snes\src\chip\sdd1 -I..\..\mednafen\src\snes\src\chip\spc7110 -I..\..\mednafen\src\snes\src\chip\srtc -I..\..\mednafen\src\snes\src\chip\st010 -I..\..\mednafen\src\snes\src\chip\superfx -I..\..\mednafen\src\snes\src\chip\superfx\bus -I..\..\mednafen\src\snes\src\chip\superfx\core -I..\..\mednafen\src\snes\src\chip\superfx\disasm -I..\..\mednafen\src\snes\src\chip\superfx\memory -I..\..\mednafen\src\snes\src\chip\superfx\mmio -I..\..\mednafen\src\snes\src\chip\superfx\timing -I..\..\mednafen\src\snes\src\cpu -I..\..\mednafen\src\snes\src\cpu\core -I..\..\mednafen\src\snes\src\cpu\core\disassembler -I..\..\mednafen\src\snes\src\cpu\scpu -I..\..\mednafen\src\snes\src\cpu\scpu\debugger -I..\..\mednafen\src\snes\src\cpu\scpu\dma -I..\..\mednafen\src\snes\src\cpu\scpu\memory -I..\..\mednafen\src\snes\src\cpu\scpu\mmio -I..\..\mednafen\src\snes\src\cpu\scpu\timing -I..\..\mednafen\src\snes\src\data -I..\..\mednafen\src\snes\src\lib -I..\..\mednafen\src\snes\src\lib\libco -I..\..\mednafen\src\snes\src\lib\libco\blargg_libco_ppc64-5 -I..\..\mednafen\src\snes\src\lib\libco\blargg_libco_ppc64-5\libco -I..\..\mednafen\src\snes\src\lib\nall -I..\..\mednafen\src\snes\src\memory -I..\..\mednafen\src\snes\src\memory\smemory -I..\..\mednafen\src\snes\src\ppu -I..\..\mednafen\src\snes\src\ppu\debugger -I..\..\mednafen\src\snes\src\ppu\memory -I..\..\mednafen\src\snes\src\ppu\mmio -I..\..\mednafen\src\snes\src\ppu\render -I..\..\mednafen\src\snes\src\sdsp -I..\..\mednafen\src\snes\src\smp -I..\..\mednafen\src\snes\src\smp\core -I..\..\mednafen\src\snes\src\smp\core\disassembler -I..\..\mednafen\src\snes\src\smp\ssmp -I..\..\mednafen\src\snes\src\smp\ssmp\debugger -I..\..\mednafen\src\snes\src\smp\ssmp\memory -I..\..\mednafen\src\snes\src\smp\ssmp\timing -I..\..\mednafen\src\snes\src\system -I..\..\mednafen\src\snes\src\system\audio -I..\..\mednafen\src\snes\src\system\config -I..\..\mednafen\src\snes\src\system\debugger -I..\..\mednafen\src\snes\src\system\input -I..\..\mednafen\src\snes\src\system\interface -I..\..\mednafen\src\snes\src\system\scheduler -I..\..\mednafen\src\snes\src\system\video -I..\..\mednafen\src\sound -I..\..\mednafen\src\string -I..\..\mednafen\src\tremor -I..\..\mednafen\src\trio -I..\..\mednafen\src\vb -I..\..\mednafen\src\video -I..\..\mednafen\src\wswan -I..\..\mednafen\src\wswan\dis -I..\..\mednafen -I..\..\mednafen\include -I..\..\mednafen\include\trio -I..\..\mednafen\intl -I..\..\mednafen\m4 -I..\..\mednafen\po -I..\..\External -c E:\mednafen\intl\dcigettext.c -o obj\Debug\mednafen\intl\dcigettext.o
E:\mednafen\intl\dcigettext.c:335:36: error: 'LOCALEDIR' undeclared here (not in a function)
In file included from E:\mednafen\intl\dcigettext.c:473:0:
E:\mednafen\intl\eval-plural.h:27:1: error: static declaration of 'plural_eval' follows non-static declaration
In file included from E:\mednafen\intl\dcigettext.c:95:0:
E:\mednafen\intl\plural-exp.h:120:26: note: previous declaration of 'plural_eval' was here
E:\mednafen\intl\dcigettext.c: In function 'libintl_dcigettext':
E:\mednafen\intl\dcigettext.c:504:30: warning: variable 'search' set but not used [-Wunused-but-set-variable]
In file included from E:\mednafen\intl\dcigettext.c:1668:0:
E:\mednafen\intl\tsearch.c: At top level:
E:\mednafen\intl\tsearch.c:89:20: fatal error: config.h: No such file or directory
compilation terminated.
Process terminated with status 1 (0 minute(s), 10 second(s))
3 error(s), 1 warning(s) (0 minute(s), 10 second(s))
 


It looks like it is very simple to fix the errors, but I am very inexperience when it comes to developing in C/C++, so can anyone help me please?

Thanks in advance,

Thomas

(Btw. Sorry for my bad English)

  • Attachment: libgnuintl.h
    (Size: 11.10KB, Downloaded 185 time(s))

[Updated on: Fri, 26 June 2015 05:26]

Re: How do I compile Mednafen from source? [message #4142 is a reply to message #4062 ] Tue, 11 August 2015 13:53 Go to previous message
elmer  [PM]
I've not had much luck compiling stuff with the old mingw project's files for quite a while, now.

IMHO, you're better off switching to mingw-w64, and using msys2.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:PCE Fast never shows the full signal?
Next Topic:djgpp compile?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ ]

Current Time: Sat May 18 10:50:38 CDT 2024
.:: Contact :: Home ::.

Powered by FUDforum.
Copyright © FUDforum Bulletin Board Software