christopherpow / nesicide

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

IDE isn't building on OSX #24

Closed TroyLong closed 6 years ago

TroyLong commented 6 years ago

Running the build.sh script works until nesicide-master/apps/ide/release/nesicide.app gives out errors. I think that I was able to narrow the problems down to something during the ide makeFile. Here is the error output:

`/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__mutex_base:382:3 7: error: too few arguments provided to function-like macro invocation sys_tpf _Max = sys_tpi::max(); ../../deps/wine/include/windef.h:332:9: note: macro 'max' defined here

define max(a,b) (((a) > (b)) ? (a) : (b))`

/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__mutex_base:382:1 5: error: no viable conversion from 'std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1, 1000000000> > > ()' to '__sys_tpf' (aka 'time_point<std::__1::chrono::system_clock, duration<long double, ratio<1LL, 1000000000LL> > >') __sys_tpf _Max = __sys_tpi::max();

`/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__mutex_base:388:4 6: error: too few arguments provided to function-like macro invocation do_timed_wait(lk, __sys_tpi::max()); ../../deps/wine/include/windef.h:332:9: note: macro 'max' defined here

define max(a,b) (((a) > (b)) ? (a) : (b))`

/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__mutex_base:388:3 1: error: no viable conversion from 'std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1, 1000000000> > > ()' to 'chrono::time_point<chrono::system_clock, chrono::nanoseconds>' (aka 'time_point<std::__1::chrono::system_clock, duration<long long, ratio<1LL, 1000000000LL> > >') __do_timed_wait(__lk, __sys_tpi::max());

Am I just looking over something. I have the newest version of qt installed. I am on Mac OSX El Captain. Thank you in advance.

christopherpow commented 6 years ago

I ran into the first error and found it was because I hadn't defined NOMINMAX. That should be fixed.

C:\git\nesicide>grep -r NOMINMAX --include=*.pro apps libs apps/ide/nesicide.pro:DEFINES += NOMINMAX NULL=0 libs/famitracker/famitracker-lib.pro:DEFINES += NOMINMAX NULL=0 libs/in_ftm/in_ftm.pro:DEFINES += NOMINMAX NULL=0 libs/vis_ftm/vis_ftm.pro:DEFINES += NOMINMAX NULL=0

christopherpow commented 6 years ago

What Qt are you using?

TroyLong commented 6 years ago

That worked fantastically! Adding the Defines += nominmax null=0 to nesicide.pro fixed everything. Thank you

christopherpow commented 6 years ago

When you say "adding", do you mean just pulling from master to latest commit? If you've had to add something manually, let me know...I may still need to fix some things.