tags:

views:

738

answers:

4

Hi!

Does anybody know where to get a MySQL libraries compiled for the arm iPhone architecture?

Or how to cross-compile MySQL for arm?

Thanx

A: 

I don't believe you can run MySQL on the iPhone. As Ben pointed out SQLite is built into the iPhone and you can use Core Data to manage structured data.

zPesk
I don't need to run MySQL on the iPhone. I just need the MySQL client libraries for the ARM architechture
Igor
+2  A: 

http://lambdajive.wordpress.com/2008/12/20/cross-compiling-for-iphone/

sehugg
Here's a bigger better (maybe) script -- I have not used this one personally though:http://paste.lisp.org/display/72638
sehugg
+1  A: 

do you need client or server libraries? Anyway, since OS X supports unix scripts you should at least try build using "regular Unix" approach:

client: http://dev.mysql.com/doc/refman/5.1/en/connector-c-building.html

server: http://dev.mysql.com/doc/refman/5.1/en/installing-source.html

noonex
A: 

Here's how I did it:

1) Download the source code version of Connector/C from MySQL

2) Download cmake (if you have macports installed, type "sudo port install cmake")

3) Get toolchain files from http://sites.google.com/site/michaelsafyan/coding/resources/how-to-guides/cross-compile-for-the-iphone/how-to-cross-compile-for-the-iphone-using-cmake

4) In the toolchain file for the simulator, remove one architecture from the line containing CMAKE_OSX_ARCHITECTURES

5) If you want to build for the simulator, copy the missing headers in /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/usr/include/netinet/ (ip.h and in_system.h) from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/usr/include/netinet

6) Create a directory called "compiled_library" somewhere, eg on your Desktop

7) Call cmake like this: cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/iphone-toolchain-file -DCMAKE_INSTALL_PREFIX=/path/to/compiled_library -DHAVE_FDATASYNC:INTERNAL=0

8) Note that if you want to run cmake a 2nd time, you might have to delete the cache file first

9) type make install

10) Now you have the compiled library in /path/to/compiled_library. Copy the header file directory and libmysql.a to your xcode project via "Add existing files...". The library should be automtically added to the linker stage.

11) WOOHOO. Use the mysql C API.

12) If this is too much work, I'm currently writing a MySQL wrapper framework for the iPhone. I will publish it sometime in the next ten years and put a link here.

Jakob Egger
thank You very much
Igor