gxx 64 bit? 32bit? linkelés során. [MEGOLDVA]

 ( meditor | 2013. november 8., péntek - 12:38 )

Üdv mindenkinek!

Segítsetek értelmezni a következő helyzetet:

1. van egy 32 bites slackware 13.37, gyári, nem patkolt.
2. ebbe a környezetbe érkezik egy program_forrás C++ - ban
a csomaggal szállított valami.a statikus könyvtárral.
3. az object szépen lefordul, de a linkelésnél jön 2 tonna hibüzi,
az errorlista így kezdődik:

/usr/lib/gcc/i486-slackware-linux/4.5.2/../../../../i486-slackware-linux/bin/ld: i386:x86-64 architecture of input file `../../lib64/libzenfire.a(Exception.cpp.o)' is incompatible with i386 output
/usr/lib/gcc/i486-slackware-linux/4.5.2/../../../../i486-slackware-linux/bin/ld: i386:x86-64 architecture of input file `../../lib64/libzenfire.a(Client.cpp.o)' is incompatible with i386 output
/usr/lib/gcc/i486-slackware-linux/4.5.2/../../../../i486-slackware-linux/bin/ld: i386:x86-64 architecture of input file `../../lib64/libzenfire.a(rlog.cpp.o)' is incompatible with i386 output

.
.
.

stb, stb. A más típusú üzenetek, gondolom ebből következnek.

Vajon ez azt jelenti, hogy az én 32 bites rendszeremmel nem kompatibilis
a kapott statikus könyvtár, esetleg az nem is 32, hanem 64 bites? (a
megosztott könyvtár linkelése is formátumhibára panaszkodik!)

A válaszokat előre is köszönöm: meditor

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

> ebbe a környezetbe érkezik egy program_forrás C++ - ban, a csomaggal szállított valami.a statikus könyvtárral.

Ez mi ez? Nem szokás ilyesmit csinálni, hacsak nem valami titkos/fizetős komponens van abban a valami.a-ban.

Az van benne... )-::
De nem az a kérdés, hogy mivan benne (-::

> Sol omnibus lucet.

Jó, fussunk neki még egyszer:

Kedves meditor!

Sajnálattal hallom, hogy nem fordul a programod. Ha elárulod, hogy pontosan mi ez a program (URL), talán jobban meg tudnám vizsgálni a problémát.

Szívélyes üdvözlettel NevemTeve

Oké, köszi a szándékot, probléma megoldva, lásd alább, mauzinál.
Üdv: meditor
> Sol omnibus lucet.

A .a fájl egy ar(1) archívum. Ki tudod csomagolni:

ar x valami.a

Ezek után, akár egy file(1) paranccsal is meg tudod nézni, hogy a kapott .o fájlok 32 vagy 64 bitesek-e... Jó eséllyel 64 bitesek lesznek...

Köszi! ELF 64 bit, ahogy sejtettem!
A 32 bites archívot töltöttem le, ebben volt a 64 bites könyvtár!

Mégegyszer köszi...

> Sol omnibus lucet.