|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6183
|
[C,C++] Linking libreria
Ciao ragazzi,
mi sono imbattuto in un problema di linking sulle librerie SCALAPACK. Dunque, compilando l'applicazione, dopo aver dato ovviamente il link alle librerie, non trovava una particolare funzione che nelle librerie invece c'è. Vi mostro alcuni flag che inserivo inizialmente: Codice:
-lblacs -lblacsCinit Codice:
-lblacs -lblacsCinit -lblacs ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
10 a 1 che sono librerie statiche, vero?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6183
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quindi, è normale.
Non sono state fatte proprio bene, quelle librerie. Non deve esserci una mutua dipendenza. La soluzione che hai usato è un buon workaround, ce ne sono comunque altri.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6183
|
Quote:
![]() Un'altra soluzione quale sarebbe, visto che le hai accennate? Grazie. ![]() |
|
![]() |
![]() |
![]() |
#6 | ||
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||
![]() |
![]() |
![]() |
#7 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Nel tuo caso, nel momento in cui viene processato -lblacs, il simbolo richiesto da blacsCinit non è ancora noto, quindi l'oggetto .o di blacs che lo contiene viene scartato. Quote:
Meglio sarebbe correggere le due librerie in modo da non avere dipendenze incrociate.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6183
|
Quote:
![]() Ultima modifica di Unrue : 06-06-2008 alle 22:42. |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Non ci sono particolari problemi tecnici in verità (a parte il fastidio con gli archivi statici in cui sei incappato o altri casi particolari), ma è una cosa che ha poco senso. Due librerie che hanno una mutua dipendenza sono...una unica libreria!
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:18.