Привет, я хочу использовать sqlite в проекте c ++ в xcode 4
теперь я получаю эту ошибку
Ld / Пользователи / jayb / Библиотека / Разработчик / Xcode / DerivedData / EMS-bpigynlzjbrescadebhoiupqmtkg / Сборка / Продукты / Отладка / 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/SOSS. 8.sdk -L / Users / jayb / Библиотека / Разработчик / Xcode / DerivedData / EMS-bpigynlzjbrescadebhoiupqmtkg / Построить / Продукты / Отладка -F / Пользователи / jayb / Библиотека / Разработчик / Xcode / DerivedData / EMS-bpigynlzjbrescadebhokup_gbg Debug 10.8 -o / Пользователи / jayb / Библиотека / Разработчик / Xcode / DerivedData / EMS-bpigynlzjbrescadebhoiupqmtkg / Сборка / Продукты / Отладка / EMSНеопределенные символы для архитектуры x86_64:
«_sqlite3_close», по ссылке от:
_main in main.o
«_sqlite3_errmsg», по ссылке из:
_main in main.o
«_sqlite3_open», по ссылке с:
_main in main.o
ld: символы не найдены для архитектуры x86_64
clang: error: команда компоновщика завершилась неудачно с кодом выхода 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;
}
Я нашел способ,
Жаль, что это помогает кому-то, ищущему то же самое решение.
теперь он строит правильно, и я могу видеть вывод
woops, я пока не могу опубликовать изображение 🙁
из настроек сборки xcode,
Вы можете найти вкладку под названием (Linking)
и на вкладке Связывание
есть поле вызова ‘Другие флаги линкера’
я просто добавил -lsqlite3 для Debug и Release
ура
Я получил похожую ошибку: я сделал следующее в моем случае:
#import <sqlite3.h>
Я не знаком с XCode. Ищу linker
настройки или compiler
настройки и добавить -lsqlite3
там.
Возможно, эта страница помогает: Xcode какая разница между "Другие флаги линкера" против "OTHER_LDFLAGS"
LDFLAGS передаются компоновщику. CFLAGS передаются компилятору.
Требуется ссылка libsqlite3.dylib в вашем проекте. Что можно сделать в
Связать фреймворки и библиотеки и добавить libsqlite3.dylib.
для справки:
xcode sqlite3 libsqlite.dylib