Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    19

    Compilazione di programmi ESQL/C

    Ho scritto un piccolo programma in C++ per la connessione a un database IBM DB2.Quando però procedo alla compilazione ottengo il seguente errore:
    c:\dev-c++\lavorodb\main.o(.text+0xd6):main.cxx: undefined reference to `sqlastrt@12'
    c:\dev-c++\lavorodb\main.o(.text+0xe6):main.cxx: undefined reference to `sqlaaloc@16'
    c:\dev-c++\lavorodb\main.o(.text+0x127):main.cxx: undefined reference to `sqlasetdata@24'
    c:\dev-c++\lavorodb\main.o(.text+0x13c):main.cxx: undefined reference to `sqlacall@20'
    c:\dev-c++\lavorodb\main.o(.text+0x149):main.cxx: undefined reference to `sqlastop@4'

    Il compilatore da me utilizzato è il DEV-C++.
    Tra le opzioni del compilatore ho anche specificato il percorso dei
    file della libreria di DB2 da includere (sul mio computer è C:\programmi\ibm\sqllib\include\).
    Come posso risolvere il problema?

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    devi anche specificare tra le opzioni per il linking il linkaggio contro la libreria, ad esempio

    -l nomelibreria

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    19
    Ho indicato anche le opzioni del linker, ma ottengo sempre lo stesso errore....

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    19
    Ho allegato un immagine che mostra la finestra delle opzioni del compilatore:
    Immagini allegate Immagini allegate

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    19
    Il file seguente invece mostra la finestra delle proprietà del progetto.....
    Immagini allegate Immagini allegate

  6. #6
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    i moduli oggetto che devono essere linkati non sono i file .h, ma sono dei file che in genere hanno estensione .a o .o; la libreria deve comprendere i file .h che deviniscono l'interfaccia e servono per compilare includendoli nel programa, e uno o più file .a o .o che rappresentano la libbreria vera e propria e che deve essere linkata col tuo programma

    Se mi dai il link alla libreria ci do uno sguardo

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    19
    Scusate ma è la prima volta che provo a interfacciare un programma con un database. Nella cartella c:\programmi\ibm\sqllib\include\ non sono presenti file .a o .o,ma solo file .h. Non so dove trovare la libreria...

  8. #8
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    dove l'hai scaricata?

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    19
    Volevo dire che non so qual è la libreria giusta. DB2 fornisce già delle librerie per diversi linguaggi di programmazione

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    19
    Il file db2api.lib a cosa serve? Può essere utile per risolvere il mio problema?

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.