Linux Srbija - www.linuxo.org
Home arrow Forum arrow Linuxarrow Programiranjearrow Kompajliranje Qt4 32-bitne aplikacije na 64-bitnoj platformi
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.
Da li ste izgubili vaš aktivacioni e-mail?
22 Август 2008, 06:20:57
Početna Pomoć Pretraga Prijavljivanje Registracija
Vesti:
linuxo.org  - osnovna stranica





+  Linuxo Forumi
|-+  Linux
| |-+  Programiranje (Urednik: popac)
| | |-+  Kompajliranje Qt4 32-bitne aplikacije na 64-bitnoj platformi
« prethodna tema sledeća tema »
Stranice: [1] Idi dole Štampaj
Autor Tema: Kompajliranje Qt4 32-bitne aplikacije na 64-bitnoj platformi  (Pročitano 101 puta)
jboban
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 835



« poslato: 13 Август 2008, 20:00:27 »

Da li je neko uspeo da kompajlira Qt4 32-bitnu aplikaciju na 64-bitnoj Linux platformi?

U konkretnom slučaju, na 64-bitnom SuSE 10.3 imam KDevelop3 i Qt4 aplikaciju koju sam hteo da kompajliram 32-bitno. Probao sam da premestim link default sa linux-g++ na linux-g++-32, dodao u CFLAGS i LFLAGS -m32, ali dolazim samo do linkovanja i tu dobijam grešku.

Kod:
g++ -m32 -o ../bin/client ../meta/client/obj/main.o ../meta/client/obj/client.o ../meta/client/obj/moc_client.o -L/usr/X11R6/lib -L/usr/lib -lQtSql -L/usr/lib -pthread -pthread -lQtGui -L/usr/X11R6/lib -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lXfixes -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtNetwork -pthread -pthread -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
/usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../libQtSql.so when searching for -lQtSql
/usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/libQtSql.so when searching for -lQtSql
/usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse-linux/bin/ld: cannot find -lQtSql
collect2: ld returned 1 exit status

Iako ima -m32 opciju, g++ ipak koristi ld iz /usr/lib64 i traži libQtSql.so iz lib64 umesto iz lib... Zašto i kako da ne koristi?
Prijavi uredniku   Sačuvana
Demon
Heavy Linux
Full Member
***
Van mreže Van mreže

Pol: Muškarac
Poruke: 193



« Odgovor #1 poslato: 13 Август 2008, 20:10:16 »

Jesi li probao da eksportujes QMAKESPEC varijablu:

export QMAKESPEC=linux-g++-32

Mozda bi trebalo i ostalo da se eksportuje (nisam siguran), npr. export PATH=... && export LD_LIBRARY_PATH=$...itd
Prijavi uredniku   Sačuvana

jboban
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 835



« Odgovor #2 poslato: 13 Август 2008, 20:39:56 »

export QMAKESPEC=linux-g++-32
Probao i neće, mada je ovo isto kao preusmeravanje default linka. Probao sam i LD_LIBRARY_PATH ali uporno biblioteke traži u /usr/lib64 Sad
Čak je zanimljivo i da u komandi eksplicitno postoji -L/usr/lib, a nigde se ne pominje /usr/lib64.
Prijavi uredniku   Sačuvana
Demon
Heavy Linux
Full Member
***
Van mreže Van mreže

Pol: Muškarac
Poruke: 193



« Odgovor #3 poslato: 13 Август 2008, 21:03:08 »

Koja je ta aplikacija? Da malo pogledam... Smiley
Prijavi uredniku   Sačuvana

jboban
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 835



« Odgovor #4 poslato: 13 Август 2008, 21:54:28 »

Pa moja neka...  Azn
Nego, proradilo... Bio se otkačio jedan link od 32-bitne biblioteke i to je pravilo problem. Verovatno se to desilo u nekim pretumbacijama oko zavisnosti, downgrade-a i sl. ali sad sam ručno popravio link i sad je ok. Mada, mora se priznati da je bilo zanimljivo, stvar koja po prirodi mora da radi, a ne radi  cool
Prijavi uredniku   Sačuvana
Stranice: [1] Idi gore Štampaj 
« prethodna tema sledeća tema »
Prebaci se na:  


Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Pokreće MySQL Pokreće PHP Powered by SMF 1.1.3 | SMF © 2005, Simple Machines LLC | Srpski prevod uredio: tomaja [linuxo.org]
Joomla Bridge by JoomlaHacks.com
Ispravan XHTML 1.0! Ispravan CSS!
Stranica je napravljena za 0.043 sekundi sa 60 upita.