Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - collect2: error: ld returned 1 exit status   con librerie e linker di IBM ILOG CPLEX
Forum - C/C++ - collect2: error: ld returned 1 exit status con librerie e linker di IBM ILOG CPLEX

Avatar
pppppaolo (Normal User)
Newbie


Messaggi: 4
Iscritto: 22/08/2017

Segnala al moderatore
Postato alle 11:18
Martedì, 22/08/2017
Ragazzi sto compilando su eclipse cdt un programma in c++ nel quale devo linkare le librerie di ILOG CPLEX .
Quando compilo mi da il seguente errore:

Codice sorgente - presumibilmente C/C++

  1. Building target: tesi
  2. Invoking: GCC C++ Linker
  3. g++ -L/opt/ibm/ILOG/CPLEX_Studio_Community127/cpoptimizer/lib/x86-64_linux/static_pic -L/opt/ibm/ILOG/CPLEX_Studio_Community127/concert/lib/x86-64_linux/static_pic -L/opt/ibm/ILOG/CPLEX_Studio_Community127/cplex/lib/x86-64_linux/static_pic -o "tesi"  ./ant.o ./graph.o ./main.o ./model.o ./random.o ./rsp.o ./statistic.o   -lcplex -lpthread -lilocplex -lm -lconcert
  4. /opt/ibm/ILOG/CPLEX_Studio_Community127/concert/lib/x86-64_linux/static_pic/libconcert.a(ilothread.o): nella funzione "IloThread::realStartup(IloThread*)":
  5. ilothread.cpp:(.text+0x20): riferimento non definito a "pthread_setspecific"
  6. makefile:44: set di istruzioni per l'obiettivo "tesi" non riuscito
  7. /opt/ibm/ILOG/CPLEX_Studio_Community127/concert/lib/x86-64_linux/static_pic/libconcert.a(ilothread.o): nella funzione "IloThread::end()":
  8. ilothread.cpp:(.text+0x729): riferimento non definito a "pthread_getspecific"
  9. /opt/ibm/ILOG/CPLEX_Studio_Community127/concert/lib/x86-64_linux/static_pic/libconcert.a(ilothread.o): nella funzione "IloThread::IloThread(IloThread::ThreadType, unsigned long, IloThread::ThreadPolicy, int)":
  10. ilothread.cpp:(.text+0x827): riferimento non definito a "pthread_create"
  11. /opt/ibm/ILOG/CPLEX_Studio_Community127/concert/lib/x86-64_linux/static_pic/libconcert.a(ilothread.o): nella funzione "IloThread::initialize()":
  12. ilothread.cpp:(.text+0x93c): riferimento non definito a "pthread_key_create"
  13. ilothread.cpp:(.text+0x978): riferimento non definito a "pthread_setspecific"
  14. /opt/ibm/ILOG/CPLEX_Studio_Community127/concert/lib/x86-64_linux/static_pic/libconcert.a(ilothread.o): nella funzione "IloThread::join()":
  15. ilothread.cpp:(.text+0xb49): riferimento non definito a "pthread_join"
  16. collect2: error: ld returned 1 exit status
  17. make: *** [tesi] Errore 1



ho gia seguito tutte le indicazioni presenti su questo sito :
http://www4.ncsu.edu/~yzhang13/eclipse-cplex-linux2.html

Ultima modifica effettuata da lumo il 22/08/2017 alle 17:51
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 401
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 17:54
Martedì, 22/08/2017
Che sistema operativo stai usando?

PM Quote
Avatar
pppppaolo (Normal User)
Newbie


Messaggi: 4
Iscritto: 22/08/2017

Segnala al moderatore
Postato alle 11:58
Mercoledì, 23/08/2017
ho messo ubuntu su una partizione del mio windows
cmq ho visto che il problema consiste nel fatto che io vada a linkare -lpthread anzichè semplicemente -pthread.
quindi vi chiedo: con eclipse cdt come faccio a linkare -pthread al posto di -lpthread ?
Perchè in Proprieties>>C/C++ build>>settings>>tool settings>>GCC C++ Linker>>Libraries  pur scrivendo semplicemente pthread, in automatico Eclipse CDT vi aggiunge -lptherad

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 401
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 12:23
Mercoledì, 23/08/2017
Non ho eclipse, ma prova ad aggiungere -pthread in "other flags" (penultima immagine che mostra la configurazione di eclipse)

PM Quote