christopherpow / nesicide

Integrated Development Environment for the 8-bit Nintendo Entertainment System
316 stars 38 forks source link

Tips for OSX compilation? #8

Closed michaeldauria closed 9 years ago

michaeldauria commented 11 years ago

Just tried to clone and make and i am seeing this:

make -C apps/nes-emulator
make[1]: *** No rule to make target `Resources/controller.icns', needed by `release/nes-emulator.app/Contents/Resources/controller.icns'.  Stop.
make: *** [apps/nes-emulator/nes-emulator] Error 2
michaeldauria commented 11 years ago

I wanted to add some more from the IDE front:

In file included from nes/project/cprgrombank.h:5,
                 from nes/project/cprgrombanks.h:5,
                 from nes/project/ccartridge.h:6,
                 from nes/common/cgamedatabasehandler.h:8,
                 from nes/common/cgamedatabasehandler.cpp:1:
nes/debuggers/prgromdisplaydialog.h:9:32: error: Qsci/qsciscintilla.h: No such file or directory
In file included from nes/project/cprgrombank.h:5,
                 from nes/project/cprgrombanks.h:5,
                 from nes/project/ccartridge.h:6,
                 from nes/common/cgamedatabasehandler.h:8,
                 from nes/common/cgamedatabasehandler.cpp:1:
nes/debuggers/prgromdisplaydialog.h:36: error: ISO C++ forbids declaration of ‘QsciScintilla’ with no type
nes/debuggers/prgromdisplaydialog.h:36: error: expected ‘;’ before ‘*’ token
nes/debuggers/prgromdisplaydialog.h:37: error: ISO C++ forbids declaration of ‘QsciLexer’ with no type
nes/debuggers/prgromdisplaydialog.h:37: error: expected ‘;’ before ‘*’ token
make[1]: *** [release/cgamedatabasehandler.o] Error 1
make: *** [apps/ide/nesicide] Error 2
christopherpow commented 11 years ago

Qscintilla2 package is required -- it is the basis of the code editor in NESICIDE. You can download it and build it [qmake/make] and then put the resulting library/headers where the nesicide.pro expects them. http://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.7.2/QScintilla-gpl-2.7.2.tar.gz

Let me know if this helps. I'm not sure about the controller.icns issue...maybe try a complete rebuild? [blow away all generated Makefiles and debug/release folders].

josegonzalez commented 10 years ago

@michaeldauria were you able to get this working?

michaeldauria commented 10 years ago

I have installed qscintilla2 via homebrew, so I should have met that dependency. After a fresh clone I get the same error:

$ cd nesicide
$ make
...
make[1]: *** No rule to make target `Resources/controller.icns', needed by `release/nes-emulator.app/Contents/Resources/controller.icns'.  Stop.
make: *** [apps/nes-emulator/nes-emulator] Error 2

I can't remember how i generated the second error though, so i am not sure if that is still a problem.

michaeldauria commented 10 years ago

I was able to get farther by updating the Makefile and adding in the library path for boxen's homebrew manually:

$ make -C apps/ide
...
In file included from common/cprojecttabwidget.cpp:7:
In file included from ./main.h:4:
In file included from ./mainwindow.h:6:
In file included from project/cnesicideproject.h:6:
In file included from project/cproject.h:9:
In file included from nes/project/csounds.h:5:
In file included from nes/project/cmusics.h:4:
In file included from nes/project/cmusicitem.h:7:
In file included from nes/designers/musiceditorform.h:7:
In file included from ../../libs/famitracker/Source/MainFrm.h:23:
../../common/cqtmfc.h:231:10: fatal error: 'windows.h' file not found
#include <windows.h>
         ^
1 warning and 1 error generated.
make: *** [release/cprojecttabwidget.o] Error 1
christopherpow commented 10 years ago

You need to install the wine-dev package for WINE headers. You don't need to have WINE itself, just the headers.

christopherpow commented 9 years ago

If you download the OSX-updated deps package that has the WINE headers in it now.

It is here: https://sites.google.com/site/nesicideproject/documents/deps.tar.bz2?attredirects=0&d=1