1

I have an error in project, but I d'nt know were is the problem. this is my error after compilation.

ld warning:

in /install/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib/libsqlite3.dylib, file is not of required architecture

ld warning:

in /install/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib/libsqlite3.0.dylib, file is not of required architecture Undefined symbols:"_sqlite3_open", referenced from: -[LiteSqlViewController openDB] in LiteSqlViewController.o "_sqlite3_close", referenced from: -[LiteSqlViewController openDB] in LiteSqlViewController.o

ld:

symbol(s) not found collect2: ld returned 1 exit status _sqlite3_open", referenced from:-[LiteSqlViewController openDB] in LiteSqlViewController.o "_sqlite3_close", referenced from:-[LiteSqlViewController openDB] in LiteSqlViewController.o

ld:

symbol(s) not found collect2: ld returned 1 exit status Build failed (2 errors)

I use OSX 10.5.8 xcode 3.1.2 iphone simulator 2.2.1 Architecture PPC

the result of command:

file /usr/lib/libsqlite3.dylib : /usr/lib/libsqlite3.dylib: Mach-O universal binary with 4 architectures /usr/lib/libsqlite3.dylib (for architecture ppc7400): Mach-O dynamically linked shared library ppc /usr/lib/libsqlite3.dylib (for architecture ppc64): Mach-O 64-bit dynamically linked shared library ppc64 /usr/lib/libsqlite3.dylib (for architecture i386): Mach-O dynamically linked shared library i386 /usr/lib/libsqlite3.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64.

2 Answers 2

9

It doesn't seem to be too straightforward to use the iPhone Simulator on PPC Macs. Issue the command file with the path in the first error you get (right after the first ld warning:). Check out this related question, maybe these steps help.


Old answer:

Did you link libsqlite3.dylib in your project?

In Xcode 4 this can be done like shown in the screenshot: Press the plus sign and add libsqlite3.dylib. Afterwards, you can drag the library into the Linked Frameworks folder. (The screenshot shows a Mac OS X application, it's the same for iOS applications.)

Xcode 4 Screenshot

Sign up to request clarification or add additional context in comments.

10 Comments

yes I added this framework libsqlite3.dylib and #import "sqlite3.h" I just make a mistake in the title of my topic. I use Osx 10.5.8, xcode 3.1.2 and iphone simulator 2.2.1. thank a lot for your answer
Your error tells that the wrong libsqlite architecture (!) has been included in the project. If you remove it and add it again, does this solve the problem? What are the build settings when you get the error, which architecture are you building for? Add this information to the question, maybe someone can help.
pascal thank a lot,for your help. I do like you said but it does not run. my iphone simulator is 2.2.1 architecture ppc.
Oh, PPC? Are you running on a PowerPC Mac? Hmm, actually, my library is also available as PPC library. What do you get from this command: file /usr/lib/libsqlite3.dylib? Does it say ppc7400 somewhere?
hi pascal. here's my version of mac. I would also say that I'm new to this platform.
|
1

Xcode 4 does not build PPC architecture (nor does it work for any OS prior to 10.6).

You'll need to make sure that your program and the libsqlite3.dylib library are built for the same architecture. I suspect the library is built for x86.

As others have said use the "file" command to determine what architectures a file was built for.

1 Comment

I use Osx10.5.8 xcode 3.1.2 iphone simulator 2.2.1 Architecture PPC, thank a lot for your answer, I update the topic.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.