A_N_K Skrevet 3. februar 2006 Del Skrevet 3. februar 2006 Er det noen som har noen tips for hvordan man kan bestemme hvilket C++-ABI et bibliotek er bygd for? Dvs. G++ 3.4 innførte et nytt ABI slik at programvare kompilert med G++ 3.4 og oppover er inkompatibel med programvare kompilert med tidligere versjoner av G++, jeg prøver å distribuere noe programvare binært og skulle ved installering gjerne visst om det gikk an å bruke systemets Qt-installasjon. Lenke til kommentar
dayslepr Skrevet 3. februar 2006 Del Skrevet 3. februar 2006 man 1 readelf lars@ibmr52:~$ readelf -h /usr/lib/libglib-2.0.so ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: DYN (Shared object file) Machine: Intel 80386 Version: 0x1 Entry point address: 0xbf90 Start of program headers: 52 (bytes into file) Start of section headers: 525648 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 5 Size of section headers: 40 (bytes) Number of section headers: 26 Section header string table index: 25 Lenke til kommentar
A_N_K Skrevet 3. februar 2006 Forfatter Del Skrevet 3. februar 2006 Dette sa ikke så mye om C++-ABI? Det gikk an å finne via readelf at biblioteket krever GLIBCXX_3.4, det går forsåvidt også an vha. objdump. Men det er kronglete. Lenke til kommentar
dayslepr Skrevet 4. februar 2006 Del Skrevet 4. februar 2006 (endret) hm, bruke ldd til å sjekke hvilken versjon av libstdc++ biblioteket er linket med? .. omtrent samme som du foreslår ser det ut til .. kommer i grunn ikke på noen 100%-løsninger i farta Endret 4. februar 2006 av dayslepr Lenke til kommentar
A_N_K Skrevet 4. februar 2006 Forfatter Del Skrevet 4. februar 2006 hm, bruke ldd til å sjekke hvilken versjon av libstdc++ biblioteket er linket med? .. omtrent samme som du foreslår ser det ut til .. Det jeg endte med å gjøre (libstdc++.so.6) En kjapp hack. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå