Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: lcc-win + SQLite  (Прочитано 7179 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Pala
Новенький

ru
Offline Offline

« : 01-11-2011 07:57 » 

подскажите пожалста, никак не компилится
Код:
#pragma comment(lib,"sqlite3.lib")
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3\sqlite3.h>

int main(int argc, char** argv)
{
    sqlite3 *db = NULL;
    int rc;
    char dbfn[] = "_MyLib.db";

    rc = sqlite3_open(dbfn, &db);
    if(rc){
        fprintf(stderr, "Can't open database: %s\n", dbfn);
        return(EXIT_FAILURE);
    }


    sqlite3_close(db);
    return (EXIT_SUCCESS);
}

выдает ошибку
Код:
Wedit output window build: Tue Nov 01 13:45:07 2011
Error d:\test\test.c 12 undefined reference to _sqlite3_open
Error d:\test\test.c 19 undefined reference to _sqlite3_close
search
Compilation + link time:0.3 sec, Return code: 2
гугл не помог, в чем тут дело?
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 01-11-2011 08:17 » 

Путь к библиотеке линковщику задан правильно?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 01-11-2011 08:17 » 

В библиотеке символы идут без ведущего подчеркивания. Смотри доки на свой компилятор, как он преобразует имена функций в символы объектных файлов. Вероятно, компилятор работает в режиме C++.

Кстати, в официальной предкомпиленной поставке нет lib-файла. Вместо него вложен def.
« Последнее редактирование: 01-11-2011 08:23 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Pala
Новенький

ru
Offline Offline

« Ответ #3 : 01-11-2011 08:54 » 

спасибо что откликнулись,

Путь к библиотеке линковщику задан правильно?
имеется ввиду эта строка: #pragma comment(lib,"sqlite3.lib") ?

при компиляции без этой строки ошибка такая-же, видимо в этом косяк,
я этот файл скопировал из lcc\lib в папку со своим проектом, это наверное не правильно?


В библиотеке символы идут без ведущего подчеркивания. Смотри доки на свой компилятор, как он преобразует имена функций в символы объектных файлов. Вероятно, компилятор работает в режиме C++.

Кстати, в официальной предкомпиленной поставке нет lib-файла. Вместо него вложен def.

на Си делаю первые шаги, не понял что искать в доках, вроде lcc плюсы не умеет компилить.


Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 01-11-2011 10:14 » 

Pala, каким путём получена lib?

Я вот взял с официального сайта просто исходник (т.н. amalgamation), создал в той же папке свой main.c с твоим кодом, собрал gcc - всё работает:
D:\...lite\sqlite-amalgamation-3070800>gcc -c sqlite3.c
D:\...lite\sqlite-amalgamation-3070800>gcc -c main.c
D:\...lite\sqlite-amalgamation-3070800>gcc main.o sqlite3.o -o main.exe
D:\...lite\sqlite-amalgamation-3070800>main.exe

Показывай ключи компиляции. Вероятно, на этапе линковки не указан путь к библиотеке.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 01-11-2011 12:03 » new

Цитата
1.1The libraries of lcc-win
Lcc-win comes with many useful libraries, already compiled and ready to use.

Name #include Binary lib file
Regular expressions regexp.h regexp.lib
Perl regular expressions pcre.h pcre.lib
Console routines tcconio.h tcconio.lib
Statistics stats.h stats.lib
SQL library sqlite3.h sqlite3.lib
Linear algebra matrix.h matrix.lib
Network utilities netutils.h netutils.lib
Advanced math functions specialfns.h libc.lib1
Safer C library --- libc.lib
Zlib functions zlib.h zlib.lib
1.This library will be included automatically, it is not necessary to add it at link time

Смотри в настройке проекта "Additional files to be included in the link".
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines