Comments (3)
Not sure if this was your problem @mgj7, but I had problems installing from Xcode onto a 32-bit/ARMv7 device (iPad 4th generation).
I got a whole lot of errors like:
Undefined symbols for architecture armv7:
"std::string::reserve(unsigned long)", referenced from:
std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libmamearmv7.a(inst.o)
The fix was to follow these two solutions from SO:
-
https://stackoverflow.com/a/19276283/9051514
Add a new project file of type C++ and ensure it's added to all the targets. You can name this file anything. If you named the file Blah, it would add like "blah.cpp" & "blah.h" to your project. -
https://stackoverflow.com/a/19272610/9051514
Go to Project settings-> Build Settings->Apple LLVM 9.0 - Language - C++ -> C++ Standard Library
Choose libstdc++ instead of libc++
With these two changes, I was able to build onto iPad 4th generation.
from mame4ios.
Probably too late to help mgj7 here, but hope this helps others. I managed to get this to work on iOS 12 and XCode 10.0 on MacOS 12.13.6, with no experience with recent versions of XCode but some familiarity with XCode from years ago.
First question is: installing with Xcode skip the 7 days limit? (if it's the same... I stop here)
Want know this as well, assuming not a registered iOS developer. But I assume that doing it this way is a permanent installation. If I'm wrong after 7 days I'll post back here. I also assume that if you ever have to backup and restore your phone, you'd need to re-install it thru XCode (and the ROMS thru iTunes file sharing). (Experts care to comment on that?)
Anyway, here's what I learned:
• The readme.md instructions on the main page are very helpful (arigato…) but outdated and somewhat misleading.
• you need just the master.zip and the linked 64-bit MAME binary from meganz. you do not need to compile MAME yourself. unzip the former and you'll have a folder called "MAME4iOS-master". Put the binary (libmamearm64.a) in the root folder there. (That's what Yoshisuga means by "the root directory of the repo")
• Once you open the "xcode/MAME4iOS/MAME4iOS.xcodeproj", you (may) need to drag the "libmamearm64.a" file to the project in the left pane, right under the expanded "MAME4iOS", where (the red, meaning absent file) libmamearmv7.a currently is. Or perhaps I had to do this because it was not in the right location when I first opened the project. As yoshsiuga says, it should not be red. libmamearmv7.a probably will be, but you can ignore, as that's the 32-bit binary and you are making a 64-bit build.
• If you're not in the iOS developer program, you need to create your iOS Development Profile, but it's not (no longer?) where yoshisuga describes. XCode>Preferences>Accounts. Add it by Apple ID.
• select the "libmamearm64.a" file. On the right select only "MAME4iOS 64-bit".
• Then I fiddled with many of the main build settings. The overall goals are to create a build of MAME4iOS 64-bit.app (your target product). In my case with an "iOS Deployment Target" of "iOS 12". (ie, don't need backwards compatibility). Under the "Signing" section, adjust "Code Signing Identities" according to the account you just made. ie chose that for Debug and Release, but chose "iOS Developer" for Any iOS SDK in the sub-sections below those. (No big reason, but worked).
• then turned off various debug options. (Unneeded, smaller build). Under Build Options>Enable Testability>Debug: No, Release: No. strip debug symmbols, debug: yes. Apple Clang -Code Gen. >Optimization Level>Debug: None [-OO]
• After several tries, with failures mainly relating to how I set the Code Signing sections, I got a build to succeed. But you'll have 150-200 build warnings (yellow !), which you can ignore. Ultimately yoshisuga will have to fix depricated code.
• I tried Product>Build for Running. Then you push "Run" to "Run" it on your device (which as to be connected). Once it's installed and working, you can "Stop" it in Xcode
Final note: when installing ROMS with iTunes file sharing, iTunes won't allow access to "ROMS" folder, only root folder of app's Documents. Luckily MAME4iOS knows this and moves those files to ROMs.
(Some of the above may be unnecessary, but it worked. Also tried not to leave anything out, but honestly was a lot of fiddling until I got a successful build. So ganbatte kudasai. Good Luck.)
from mame4ios.
Closing as this ticket no longer applies.
from mame4ios.
Related Issues (20)
- 中文设置,及中文作弊 HOT 13
- add Shader FXAA HOT 8
- Enable jit support HOT 4
- Popping Sounds HOT 2
- iCade and joystick direction problem HOT 4
- App keeps restoring to default after restarting HOT 3
- TI-99/4A support HOT 6
- Where is mame.ini? HOT 1
- Finally I can become the Video MAME Player of The Century on the go! HOT 1
- Mouse bug... HOT 9
- visionOS support HOT 1
- Do you have any plans to release the MAME emulator on the App Store? HOT 16
- How to build 250 from source? HOT 3
- How to set custom buttons? For example, several keys pressed together are bound to a key(怎么设置自定义按键?) HOT 1
- MAME4iOS crashes after compiling HOT 1
- add built-in keyboards
- redesign modern virtual controller & optimize for battery life
- 6 player support? HOT 1
- 2xscale? Shaders? HOT 1
- external rom support HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mame4ios.