x_file 0 Denunciar post Postado Maio 19, 2009 1. Estou tentando executar meu progama em que está divido em 2 arquvos C(principal.c / sqlite3.c) ,sendo que os dois estão compilados e sem erros porém tanto pelo terminal do linux e no Netbeans ele desconhece as funções do SQLite sendo que as mesmas estão declaradas no header. build/Release/GNU-Linux-x86/principal.o: In function `main': principal.c:(.text+0x23): undefined reference to `sqlite3_open' principal.c:(.text+0x55): undefined reference to `sqlite3_exec' principal.c:(.text+0x89): undefined reference to `sqlite3_get_table' principal.c:(.text+0x12c): undefined reference to `sqlite3_free_table' principal.c:(.text+0x137): undefined reference to `sqlite3_close' principal.c:(.text+0x16c): undefined reference to `sqlite3_free' principal.c:(.text+0x188): undefined reference to `sqlite3_errmsg' principal.c:(.text+0x1ac): undefined reference to `sqlite3_close' 2. Outra dúvida que tenho é uma library(sqlite-3.6.14.so) que tem a extensão .so e não sei como instalar isso no linux talvez seja pq o progama não funcione coloquei na pasta do projeto e mesmo assim no way desde já agradeco a atenção Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Maio 19, 2009 Dá undefined reference porque você tem que linkar (-lsqlite3). Não adianta colocar bibliotecas em um diretório que não é o padrão e não especificar o p/ o compilador. Compartilhar este post Link para o post Compartilhar em outros sites
x_file 0 Denunciar post Postado Maio 19, 2009 cara tentei por essas linhas de comando mas sem sucesso $ cc principal.c -lsqlite3.c e $ cc principal.o -lsqlite3.o Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Maio 19, 2009 tenta: gcc principal.c "caminho_pro_seu_arquivo_.a_ou.lib" para usar a opção "-l" você tem que especificar onde o compilador vai buscar bibliotecas, faça isso com a opção "-L" ou então especifique o caminho completo da biblioteca. Compartilhar este post Link para o post Compartilhar em outros sites
x_file 0 Denunciar post Postado Maio 19, 2009 tentei aqui de vários jeitos e nada ;( o meu banco de dados nao atualiza Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Maio 19, 2009 Geralmente o que se passa como argumento para a opção -l não leva nenhuma extensão. Veja a manpage do header p/ saber como linkar (o math.h tem escrito "Link with -lm") e se tem que passar outras opções na compilação. Compartilhar este post Link para o post Compartilhar em outros sites
x_file 0 Denunciar post Postado Maio 20, 2009 Bom dia galera Tentei de todas as formas mas em vão ;( , vou tentar ser um pouco mais claro . Tento uma pasta com meu projeto e no Netbeans com os sequintes arquivos: Principal.C - com os algoritmos para acessar e inserir na tabela do meu banco de dados exemplo1,db Sqlite3.C - com as API's exemplo1.db - o banco de dados criado no SQLite3 e o header Sqlite.H na pasta do projeto tenho também os arquivos .o (sqlite3.o e principal.o) Tanto pelo terminal quanto pelo Netbeans compila porém da o seguinte erro do "undefined reference " ainda. tentei no terminal .. de várias formas... e nada ainda Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Maio 20, 2009 O que você tentou? Compartilhar este post Link para o post Compartilhar em outros sites
x_file 0 Denunciar post Postado Junho 1, 2009 olá galera demorei mas acabei conseguindo fiz uma revisão no código e na hora de compilar ocorreu tudo certo tive que usar -l para utilizar as funções do SQLite obrigadooo Compartilhar este post Link para o post Compartilhar em outros sites