Previous Thread
Next Thread
Print Thread
Page 37 of 44 1 2 35 36 37 38 39 43 44
Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
Yes, that's the one to open. It *is* created super-deep; this is not uncommon for tool-generated Visual Studio SLNs.

Joined: May 2007
Posts: 584
Likes: 9
M
Senior Member
Offline
Senior Member
M
Joined: May 2007
Posts: 584
Likes: 9
Mmm ... still getting lots of error output ... I'll have to dig deeper.

For the time being, why not simply compile with mingw gcc? Assuming that I don't want to do debugging, just create a tailored image for the typical user?

I remember that some days ago the howto for mingw was still there, now there is only the VS topic.

Joined: May 2008
Posts: 4,930
Likes: 24
Q
Very Senior Member
Offline
Very Senior Member
Q
Joined: May 2008
Posts: 4,930
Likes: 24
Originally Posted by mizapf
  • Once you've done that, simply run: make ...

make is not found in the plain cmd. I suppose I have to run win32env.bat in msys64 first, then go to the mame folder.
I think it's "nmake" what the author meant. Should be changed in the wiki I suppose.


A mind is like a parachute. It doesn't work unless it's open. [Frank Zappa]
Joined: Feb 2004
Posts: 2,597
Likes: 300
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,597
Likes: 300
Originally Posted by qmc2
Originally Posted by mizapf
  • Once you've done that, simply run: make ...

make is not found in the plain cmd. I suppose I have to run win32env.bat in msys64 first, then go to the mame folder.
I think it's "nmake" what the author meant. Should be changed in the wiki I suppose.
No, it's not nmake - you need to have gnu make in your path. The make command generates the solution and project files for Visual Studio. Once you've done that, you can open the solution in Visual Studio or build it with msbuild. We don't use nmake.

Joined: Mar 2001
Posts: 17,215
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,215
Likes: 234
I compiled correctly on a Windows machine recently using "make vs2015" and VS2017 with the 2015 toolchain installed as an option (it asks during install). If you're using real VS2015, make sure you have SP3 installed - they fixed a lot of C++ compliance in the compiler between GM and SP3.

Joined: May 2007
Posts: 584
Likes: 9
M
Senior Member
Offline
Senior Member
M
Joined: May 2007
Posts: 584
Likes: 9
OK then, I'll try. Still, I'd suggest someone have a look at the Developers Wiki entry and make it fool-proof (for fools like me :-) ). If you are not experienced with Visual Studio, this may be a bit too terse right now.

There's still my question from above: I understand that VS produced somewhat better output, but just for the purpose of building a small MAME version with only a few drivers and to offer it for downloading, would the traditional MinGW / gcc toolchain still work, or it that generally discouraged?


Joined: Feb 2004
Posts: 2,597
Likes: 300
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,597
Likes: 300
Visual Studio has better i386 code generation and the debugging tools tend to be better than GDB on Windows. GCC compiles a lot faster and has better x86-64 code generation. We recommend using MinGW GCC to build binaries for distribution to ensure they behave more like standard MAME releases.

If you're planning to release binaries, we recommend you build using the same flags we use for binary releases. You can see the options used in build-release.bat in the build repository. Currently the they are (the only difference: difference between the lines is the PTR64 setting):

Code
make TARGET=mame TOOLS=1 SEPARATE_BIN=1 PTR64=0 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9
make TARGET=mame TOOLS=1 SEPARATE_BIN=1 PTR64=1 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9

If you're building with a subset of drivers, do something like:

Code
make TARGET=mame SUBTARGET=subset SOURCES=src/mame/drivers/mydriver.cpp TOOLS=1 SEPARATE_BIN=1 PTR64=0 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9
make TARGET=mame SUBTARGET=subset SOURCES=src/mame/drivers/mydriver.cpp TOOLS=1 SEPARATE_BIN=1 PTR64=1 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 REGENIE=1 -j9

(Note that you can't actually run the two commands in direct succession on Windows - you need to switch environments between doing 32-bit and 64-bit builds.)

Joined: May 2007
Posts: 584
Likes: 9
M
Senior Member
Offline
Senior Member
M
Joined: May 2007
Posts: 584
Likes: 9
Yes, thanks, I'm doing small builds with gcc under Linux for some time already, so this looks familiar. I'm not using TARGET and SUBTARGET, though - are those important when I have SOURCES?

Joined: Feb 2004
Posts: 2,597
Likes: 300
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,597
Likes: 300
TARGET defaults to MAME. If you're doing multiple builds with different combinations of drivers it helps to use different SUBTARGET so they don't overwrite each other. It's also useful to give it a different SUBTARGET name to make it obvious that it isn't a full MAME build (even if the small size implies that). If you're setting SOURCES, you can make up any SUBTARGET and it will generate rules to build the executable with that name.

Joined: May 2005
Posts: 50
Likes: 39
L
Member
Offline
Member
L
Joined: May 2005
Posts: 50
Likes: 39
I'm trying to compile the latest MAME on Windows 10 with mingw. I get a Lua error:

Code
Luigi@Luigi-PC MSYS /c/mame
$ make SOURCES=src/mame/drivers/atarisy1.cpp REGENIE=1
GCC 6.3.0 detected
[string "function os.executef(cmd, ...)..."]:167: 'popen' not supported
stack traceback:
        [C]: in function 'io.popen'
        [string "function os.executef(cmd, ...)..."]:167: in function 'os.outputof'
        c:/mame/scripts/genie.lua:1335: in main chunk
        [C]: in upvalue 'builtin_dofile'
        [string "premake = { }..."]:84: in function 'dofile'
        [string "_WORKING_DIR        = os.getcwd()..."]:45: in function '_premake_main'
make: *** [makefile:986: build/projects/windows/mame/gmake-mingw64-gcc/Makefile] Error 1

Page 37 of 44 1 2 35 36 37 38 39 43 44

Link Copied to Clipboard
Who's Online Now
2 members (Kale, 1 invisible), 233 guests, and 1 robot.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,923
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com