Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Berkeley DB & Linux

    Salve a tutti.
    Non riesco a compilare un codice in C++ in cui richiamo le funzioni di Berkeley Db.
    Lasciando solo la riga #include "db_cxx.h" il tutto viene compilato correttamente.
    Non appena provo ad istanziare un oggetto Db e ad usare le funzioni
    open close ecc.. il compilatore mi da degli errori di tipi undefined reference.
    Qualcuno può aiutarmi a risolvere il problema?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ciao e benvenuto nel forum di Programmazione.

    Ho corretto il titolo aggiungendo il linguaggio di programmazione che deve essere sempre indicato, come da Regolamento che ti suggerisco di leggere per conoscere tutte le norme del "buon postare" in quest'area del forum.

    Oltre alle regole, troverai anche suggerimenti per usarlo al meglio.

    Detto questo...ciao e buon forum!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quale e' l'errore preciso?

  4. #4
    Ecco un esempio di codice che non riesco a compilare.

    codice:
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    #include <db_cxx.h>
    
    using namespace std;
    
    int main()
    {
     Db db(NULL,0);
     db.open(NULL,"mydb.db" ,0,DB_BTREE,DB_CREATE,0);
     db.close(0);
     return 0;
    }
    Compilando con la linea:
    g++ -o ./provaBDB1 -pthread -I/usr/local/BerkeleyDB.4.3/include -L/usr/local/BerkeleyDB.4.3/lib -ldb_cxx ./provaBDB1.cpp

    mi segnala i seguenti errori:
    /tmp/ccXgGgYP.o: In function `main':
    /tmp/ccXgGgYP.o(.text+0x12): undefined reference to `Db:b(DbEnv *, unsigned int)'
    /tmp/ccXgGgYP.o(.text+0x32): undefined reference to `Db:pen(DbTxn *, char const *, char const *, DBTYPE, unsigned int, int)'
    /tmp/ccXgGgYP.o(.text+0x43): undefined reference to `Db::close(unsigned int)'
    /tmp/ccXgGgYP.o(.text+0x54): undefined reference to `Db::~Db(void)'
    /tmp/ccXgGgYP.o(.text+0x6c): undefined reference to `Db::~Db(void)'
    collect2: ld returned 1 exit status

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho modo di controllare ma sei sicuro che il nome della libreria da includere non sia

    -ldb_cxx-4.3


    ?

  6. #6
    No purtroppo non compila lo stesso.
    Ho dovuto usare visual C++

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.