【发布时间】:2013-08-31 15:19:27
【问题描述】:
您好,我想在 xcode 4 的 c++ 项目中使用 sqlite
现在我收到此错误
Ld /Users/jayb/Library/Developer/Xcode/DerivedData/EMS-bpigynlzjbrescadebhoiupqmtkg/Build/Products/Debug/EMS 正常 x86_64 cd /用户/jayb/文档/开发/EMS/EMS setenv MACOSX_DEPLOYMENT_TARGET 10.8 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10。 8.sdk -L/Users/jayb/Library/Developer/Xcode/DerivedData/EMS-bpigynlzjbrescadebhoiupqmtkg/Build/Products/Debug-F/Users/jayb/Library/Developer/Xcode/DerivedData/EMS-bpigynlzjbrescadebhoiupqmtkg/Build/Products/调试-filelist /Users/jayb/Library/Developer/Xcode/DerivedData/EMS-bpigynlzjbrescadebhoiupqmtkg/Build/Intermediates/EMS.build/Debug/EMS.build/Objects-normal/x86_64/EMS.LinkFileList -mmacosx-version-min= 10.8 -o /Users/jayb/Library/Developer/Xcode/DerivedData/EMS-bpigynlzjbrescadebhoiupqmtkg/Build/Products/Debug/EMS
架构 x86_64 的未定义符号: “_sqlite3_close”,引用自: main.o 中的 _main “_sqlite3_errmsg”,引用自: main.o 中的 _main “_sqlite3_open”,引用自: main.o 中的 _main ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
我发现这是链接器问题 它可以用编译器选项 -lsqlite3 修复
但是,我如何在 Xcode 中添加该选项??????
我使用 xcode 4.4 上的“运行”按钮来编译我的项目。 我不在终端窗口中编译。
这是我的代码
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <sqlite3.h>
using namespace std;
int main()
{
sqlite3 *db;
int rc = sqlite3_open("EMSDB", &db);
if (rc) {
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
exit(0);
}
else {
fprintf(stderr, "Opened Database successfully\n");
}
sqlite3_close(db);
return 0;
}
【问题讨论】:
标签: c++ sqlite linker xcode4.4