2011-03-21 11 views
2

XCode中4如何在XCode 4中的i386应用程序的dylib中使用Sqlite?这种方法确实在iPhone应用程序

在i386的应用程序在dylib使用SQLite,让我需要添加一个文件的iOS工作即从目录libsqlite3.0.dylib: /开发/平台/的iPhoneOS。平台/ DeviceSupport/4.2.1(8C148)/符号/ usr/lib/

我有一个方法,从sqlite数据库的列中获取和MaxID。 这适用于我制作的通用iOS应用程序。我想将此代码 移植到Mac应用程序i386。 sqlite的-autoconf的3070500.tar.gz

继我在/ usr/local/lib目录生成3个文件的方向:

因为我无法找到I386这样的dylib,我使用 下载文件创建一个

libsqlite3.a libsqlite3.la libsqlite3.dylib

在Xcode我有加 '的/ usr/local/lib目录' 的 构建设置 - >搜索路径 - >库搜索路径

我用: 出口DYLD_LIBRARY_PATH =在/ usr/local/bin目录/:$ DYLD_LIBRARY_PATH

我得到下面的生成错误,当我取消注释AppDelegate.m

LD /用户/ appleuser的 sqlite的代码/Library/Developer/Xcode/DerivedData/iHungryMacNonDoc-dakfnxxiwzxehygtwrboebgysgwc/Build/Products/Debug/iHungryMacNonDoc.app/Contents/MacOS/iHungryMacNonDoc正常I386 坎德拉/用户/ appleuser /可可/ iHungryMacNonDoc SETENV MACOSX_DEPLOYMENT_TARGET 10.6 /开发人员的/ usr/bin/llvm-gcc-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk -L/Users/appleuser/Library/Develo per/Xcode/DerivedData/iHungryMacNonDoc-dakfnxxiwzxehygtwrboebgysgwc/Build/Products/Debug -L/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib -L ​​/ Users/appleuser/Cocoa/iHungryMacNonDoc/../SqliteLib -L ​​/ Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib -F/Users/appleuser/Library/Developer/Xcode/DerivedData/iHungryMacNonDoc-dakfnxxiwzxehygtwrboebgysgwc/Build/Products/Debug -filelist /Users/appleuser/Library/Developer/Xcode/DerivedData/iHungryMacNonDoc-dakfnxxiwzxehygtwrboebgysgwc/Build/Intermediates/iHungryMacNonDoc.build/Debug/iHungryMacNonDoc.build/Objects-normal/i386/iHungryMacNonDoc.LinkFileList -mmacosx-version-min = 10.6 -framework可可-lsqlite3.0.8.6 -o /Users/appleuser/Library/Developer/Xcode/DerivedData/iHungryMacNonDoc-dakfnxxiwzxehygtwrboebgysgwc/Build/Products/Debug/iHungryMacNonDoc.app/Contents/MacOS/iHungryMacNonDoc

LD:未找到文件:/usr/lib/system/libdispatch_sim.dylib为i386硬件架构 collect2:LD返回1个退出状态 命令/Developer/usr/bin/llvm-gcc-4.2失败,退出代码1

AppDelegate.h开始 ////////////

进口 “AppDelegate.h”

进口 “IngredXML.h”

进口 “XmlListReader.h”

导入“常量。H”

进口

进口

进口 “/usr/include/sqlite3.h”

非常感谢您阅读本。请指教。 马克

回答

1

我会针对运SDK中的SQLite dylib,这是在/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libsqlite3.dylib链接(根据需要替换您的目标SDK)。

+0

非常感谢。我希望我的耳朵问利尔!我自己编dylib – mbarron 2011-03-23 01:32:25

+0

非常感谢mipadi!你有答案!我希望我早点问过!我的自编dylib能够工作,但是只有在我阅读了文章中的以下内容并从XCode项目中删除了库搜索路径(指向iPhone版本)之后::::请确保没有任何自定义搜索路径定义错误链接器在图书馆的奇怪位置查找。 - 克劳斯布洛奇10年10月10日在12:33 – mbarron 2011-03-23 01:51:25