|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
installare librerie con dev-c++
ciao a tutti, sono uno studente (
vorrei sapere come faccio ad installare delle librerie non standard (in particolare le time ed employee dell'horstmann) in dev-c++. in quale misteriosa cartella le devo mettere? ho provato senza successo in C:\Programmi\Dev-Cpp\include\c++\3.4.2\ come mi era stato riferito da un amico :x suggerimenti? ciao e grazie
__________________
lol wut |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
In C:\Programmi\Dev-Cpp\lib
se per librerie intendi quello che intendo io
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
oddio, forse il termine "librerie" e' impreciso e frutto della mia immane niubbaggine in materia di programmazione. comunque, la loro estensione e' .h e .cpp, sono per capirci quelle che si includono cosi':
#include "nomelib.h"
__________________
lol wut |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Ah! Li puoi metterli in una cartella con un nome che vuoi nella cartella C:\Programmi\Dev-Cpp\include, es:
in C:\Programmi\Dev-Cpp\include, crei una nuova cartella "horstmann" e ci sposti tutti gli header, e dal tuo sorgente fai #include <horstmann/fileheader.h> Altrimenti sbatti tutto in C:\Programmi\Dev-Cpp\include insieme a tutti gli altri header e fai gli include normalmente |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
niente, ho provato in tutti e due i modi da te citati ma non va, continuo ancora ad avere un errore di linking della libreria
ho provato a fare un po' di prove, da quello che ho capito il problema e' nei file .h e .cpp, comunque ho provato ad aprirli e ad incollare brutalmente il loro contenuto nel mio programma, che ha funzionato. questo e' il log di dev-c++ Codice:
Compilatore: Default compiler Esecuzione di g++.exe... g++.exe "D:\Backup\Documents and Settings\Stefano ®\Documenti\C++\impiegati prova.cpp" -o "D:\Backup\Documents and Settings\Stefano ®\Documenti\C++\impiegati prova.exe" -g3 -I"C:\Programmi\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2\horstmann" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2" -I"C:\Programmi\Dev-Cpp\include" -L"C:\Programmi\Dev-Cpp\lib" -g3 C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x29b): In function `main': D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:13: undefined reference to `Employee::Employee(std::string, double)' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x40a):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:16: undefined reference to `Employee::Employee(std::string, double)' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x4d3):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:19: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x4f1):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:19: undefined reference to `Employee::get_name() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x518):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:19: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x536):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:19: undefined reference to `Employee::get_name() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x6b0):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:24: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x6ca):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:24: undefined reference to `Employee::set_salary(double)' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x6d8):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:25: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x6f6):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:25: undefined reference to `Employee::get_name() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x71d):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:25: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x73b):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:25: undefined reference to `Employee::get_name() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x8b5):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:29: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x8cf):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:29: undefined reference to `Employee::set_salary(double)' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x8dd):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:30: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x8fb):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:30: undefined reference to `Employee::get_name() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x922):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:30: undefined reference to `Employee::get_salary() const' C:\DOCUME~1\STEFAN~1\IMPOST~1\Temp/ccK8baaa.o(.text+0x940):D:/Backup/Documents and Settings/Stefano ®/Documenti/C++/impiegati prova.cpp:30: undefined reference to `Employee::get_name() const' collect2: ld returned 1 exit status Esecuzione terminata
__________________
lol wut Ultima modifica di xplorer87 : 21-01-2006 alle 11:06. |
|
|
|
|
|
#6 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
Se ho capito bene, il tuo problema non è includere gli header, ma linkare le librerie.
Per linkare una libreria che non si trova nel path standard, devi passare un'opzione al compilatore. Ho dato un'occhiata al'help in linea di Dev-C++, alla voce "Linking libraries with your project", e ho trovato quanto segue: Seleziona la voce di menu Project-->Project Options: appare una finestra. Clicca sulla scheda "Parameters". Nella tabella "Linker" inserisci le opzioni che ti interezzano, nella forma "meno, elle minuscola, nome-libreria" tutto attaccato. In realtà ci dovrebbe essere anche un pulsante "Add Library or Object" che dovrebbe fare al caso tuo.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
aha grazie, cosi' ho risolto... ma quindi e' possibile linkare librerie solamente mentre faccio un progetto? io generalmente faccio sempre partire un nuovo file sorgente, non un nuovo progetto e l'opzione suddetta esiste solo per i progetti :x
__________________
lol wut |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
alla fine parlavi di librerie e intendevi gli header ma il problema erano le librerie
va bè hai risolto e tutto bene |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
sisi, ma mi sembra una scappatoia... come faccio per includere gli header senza creare un progetto allora? :x
__________________
lol wut |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Librerie! "Linkarsi" alle librerie! Sennò torniamo al punto di partenza
![]() Comunque potresti usare il compilatore da riga di comando, qualcosa del genere: Codice:
mingw32-g++.exe -LC:\Programmi\MinGW\lib -o "C:\tuacartella\nomeeseguibile.exe" [objectdiuntuofile].o -l[tua libreria] -l[altratualibreria] |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
oddio si scusa, e' che siccome si mette il comando #include, io mi impiccio sempre a parlarne :x
comunque, alla fine guardando un po' ovunque, ho notato che il comando -l Cartella il compilatore lo faceva... il problema sapete qual era? che anziche' scrivere #include "file.h", dovevo scrivere #include "file.cpp", cioe' anziche' includere l'header, dovevo includere il cpp. non so perche', ma cosi' ha funzionato :x grazie raga
__________________
lol wut |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Ok, allora ora parli di header... mannagg
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Mar 2005
Città: A RRRRRRoma
Messaggi: 466
|
Quote:
con l'header di ccc_win.h... il fatto è che di questo header non esiste il file sorgente, il .cpp... se doppioclicco su ccc_win.h nel file sorgente ci sono tutti riferimenti ad altri .cpp.... aiuto.... mentre di time.h il .cpp esiste di ccc_win.h no..... come faccio?
__________________
...work in progress... |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
ho visto... putroppo non ne ho idea di come si possa fare... se provi semplicemente a copiarlo e rinominarlo in cpp? (soluzione mega-niubba)
altrimenti non so che dirti
__________________
lol wut |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:56.











se per librerie intendi quello che intendo io
va bè hai risolto e tutto bene








