Xcode mac osx上的sqlite3链接错误

Xcode mac osx上的sqlite3链接错误,xcode,sqlite,Xcode,Sqlite,在将程序从windows移植到mac时,我正在xcode中构建一个C/C++库。 该库使用sqlite3 c api。以前在windows中,sqlite3源代码是作为库的一部分编译的 我必须编译我的库以兼容32位和64位平台,并且需要支持mac osx 10.5及10.8版本 在mac上似乎内置了sqlite3,所以我想我不需要在项目中编译sqlite3代码,而是参考平台上已有的库 库进行编译,但给出了sqlite3函数调用的链接错误 我能够在mac上找到sqlite3.dylib,这是一个动

在将程序从windows移植到mac时,我正在xcode中构建一个C/C++库。 该库使用sqlite3 c api。以前在windows中,sqlite3源代码是作为库的一部分编译的

我必须编译我的库以兼容32位和64位平台,并且需要支持mac osx 10.5及10.8版本

在mac上似乎内置了sqlite3,所以我想我不需要在项目中编译sqlite3代码,而是参考平台上已有的库

库进行编译,但给出了sqlite3函数调用的链接错误

我能够在mac上找到sqlite3.dylib,这是一个动态库

在windows中,我们将使用loadlibrary()函数调用来使用DLL。所以,让我困惑的是,我是否必须更改代码,以便调用类似于mac loadlibrary()的调用,然后使用它?我不确定。。我是麦克的新手

我期望在mac上有一个sqlite3的静态库,我发现的是dylib,如果我可以静态链接sqlite3,那可能是最好的,因为我不需要修改太多代码

如何将其链接到xcode项目中平台可用的sqlite3库?或者我需要编译sqlite3代码作为项目的一部分,而忽略平台上的动态库吗

需要帮忙吗

#ifndef WIN32
typedef void* HANDLE
inline HANDLE LoadLibrary(char path[])
{
    return (HANDLE) dlopen(path, RTLD_NOW);
}
inline void FreeLibrary(HANDLE handle)
{
    dlclose((void*) handle);
}
#endif

//将上述函数放在一个标题中,然后您可以继续使用LoadLibrary语法,当您说“库编译但为sqlite3函数调用提供链接错误”时,您的意思是使用库的最终二进制文件给出链接器错误,因为库是静态的(因此在构建库时不涉及链接)?否,我的意思是,当我构建库时,xcode给了我sqlite3调用的链接错误(没有编译时错误),我还没有在任何其他二进制文件中使用库,因为我甚至不能构建它。我正在构建的库是dylib类型,在xcode 4.3中,我选择了frameworks&library->C/C++linrary来创建这个库项目。好的,听起来你只需要链接
sqlite3
库,它可以在项目构建设置中设置。有什么指导吗?所以,当我在任何其他平台上发布这个库时,它会自动选择sqlite3吗?32/64位两者?Xcode指南(包含在Xcode中)中介绍了它,是的-它将在运行时使用系统的
sqlite3
动态库。