Note that there are some explanatory texts on larger screens.

plurals
  1. POConnect iPhone App to PostgreSQL Using Libpq
    primarykey
    data
    text
    <p>I need to create an application for the iPhone that will connect to a PostgreSQL 8.4 database using libpq. The problem is I can't get a simple iPhone that links to libpq to compile. I am however able to get the equivalent application that is a regular Mac desktop app to compile and connect to PostgreSQL without any issues. I'm on Xcode 3.2 running on Snow Leopard.</p> <p>I'm building libpq for both arm and for x86_84. The arm build is for the real iPhone and the x86_64 is for the iPhone simulator to use. I then create a fat binary that contains both files and end up with a file named libpq. This file is the one I use in the regular Mac app and it works fine and causes issues when trying to build the iPhone app.</p> <p>Here is my build script when I build libpq.</p> <pre><code>#!/bin/bash DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer SDKROOT=$DEVROOT/SDKs/iPhoneOS3.0.sdk rm -rf /Users/bob/mylibs mkdir /Users/bob/mylibs #Store there compiled libs make clean #Build ARM library ./configure --host=arm-apple-darwin --without-readline --disable-ipv6 CC=$DEVROOT/usr/bin/arm-apple-darwin9-gcc-4.0.1 CPPFLAGS="-I$SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.0.1/include/ -I$SDKROOT/usr/include/" CFLAGS="$CPPFLAGS -arch armv6 -pipe -no-cpp-precomp -isysroot $SDKROOT" CPP="$DEVROOT/usr/bin/cpp $CPPFLAGS" LD=$DEVROOT/usr/bin/ld make -C src/interfaces/libpq cp /Users/bob/Downloads/postgresql-8.4.1/src/interfaces/libpq/libpq.a /Users/bob/mylibs/libpq.arm #Then build i386 library make clean &amp;&amp; ./configure &amp;&amp; make -C src/interfaces/libpq cp src/interfaces/libpq/libpq.a /Users/bob/mylibs/libpq.i386 #Then make fat binary $DEVROOT/usr/bin/lipo -arch armv6 /Users/bob/mylibs/libpq.arm -arch x86_64 /Users/bob/mylibs/libpq.i386 -create -output /Users/bob/mylibs/libpq </code></pre> <p>Here is the build log when I try to compile the iPhone app from within Xcode.</p> <pre><code>Build iPhonePg of project iPhonePg with configuration Debug Ld build/Debug-iphonesimulator/iPhonePg.app/iPhonePg normal i386 cd /Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg setenv MACOSX_DEPLOYMENT_TARGET 10.5 setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk -L/Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg/build/Debug-iphonesimulator -L../../../../mylibs -L/Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg -L/Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg/../../../../mylibs -F/Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg/build/Debug-iphonesimulator -filelist /Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg/build/iPhonePg.build/Debug-iphonesimulator/iPhonePg.build/Objects-normal/i386/iPhonePg.LinkFileList -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics /Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg/libpq -o /Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg/build/Debug-iphonesimulator/iPhonePg.app/iPhonePg ld: warning: in /Users/bob/Documents/Programming/PragProgrammerIphoneSDK/iPhonePg/libpq, missing required architecture i386 in file Undefined symbols: "_PQclear", referenced from: -[iPhonePgAppDelegate applicationDidFinishLaunching:] in iPhonePgAppDelegate.o "_PQerrorMessage", referenced from: -[iPhonePgAppDelegate applicationDidFinishLaunching:] in iPhonePgAppDelegate.o "_PQconnectdb", referenced from: -[iPhonePgAppDelegate applicationDidFinishLaunching:] in iPhonePgAppDelegate.o "_PQfinish", referenced from: -[iPhonePgAppDelegate applicationDidFinishLaunching:] in iPhonePgAppDelegate.o "_PQstatus", referenced from: -[iPhonePgAppDelegate applicationDidFinishLaunching:] in iPhonePgAppDelegate.o "_PQexec", referenced from: -[iPhonePgAppDelegate applicationDidFinishLaunching:] in iPhonePgAppDelegate.o ld: symbol(s) not found collect2: ld returned 1 exit status </code></pre> <p>Anyone else run into this that can help out? </p> <p>Thanks StartShip3000</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload