Portál AbcLinuxu, 16. července 2025 03:14


Dotaz: ./configure nenajde Qt lebo sa medzicasom zmenilo poradie parametrov g++

4.12.2013 13:53 gsnak | skóre: 22 | blog: gsnak
./configure nenajde Qt lebo sa medzicasom zmenilo poradie parametrov g++
Přečteno: 422×
Odpovědět | Admin
Pokusam sa skompilovat jeden starsi program vyuzivajuci Qt4. Zda sa ze niekedy v poslednej dobe sa menilo poradie vyhodnocovania parametrov g++. Ak mam takyto prikaz:

g++ -Lcesta -lkniznica -o subor subor1.o subor2.o

tak g++ vyhodnocuje parametre z lava do prava. Prijde na -Lcesta -lkniznica, zatial to nikto nechcel tak to vyhodi. Potom pride na subor1.o a subor2.o a tym ta kniznica chyba. Riesenie je prehodit poradie:

g++ -o subor subor1.o subor2.o -Lcesta -lkniznica

Gcc prijde na -Lcesta, zisi ze skor uvedeny subor1.o ju potrebuje tak tuto cestu pouzije. V prvom pripade kompilacia neprejde, v druhom ano.

Otazka: Ako to configure prinutim aby pouzivalo spravne poradie alebo ako g++ prinutim aby nezahadzovalo zdanlivo nepouzivane cesty a kniznice? Skusal som pregenerovat configure skript cez autoconf ale chova sa to rovnako.
Čo Rys, to vrah!

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.12.2013 21:23 eLSi
Rozbalit Rozbalit vše Re: ./configure nenajde Qt lebo sa medzicasom zmenilo poradie parametrov g++
Odpovědět | | Sbalit | Link | Blokovat | Admin
Toto je presne spravanie ak sa kompiluje s argumentom -Wl,--as-needed. Ak sa nemylim, tak na ubuntu je to implicitne zapnute. detailnejsi popis

Neviem ako je mozne, ze sa argument -lkniznica dostal pred objektove moduly, pretoze pri pouziti autotools sa tam obsah LDFLAGS nemoze dostat. Je mozne, ze nespravne pozivate CFLAGS, CXXFLAGS a LDFLAGS. Viac sa poradit neda bez doplnujucich informacii.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.