Tento zabezpecuje ze vsetky kniznice pouzivane linkovanou musia byt definovane sposobom -lkniznica. Inak to linker povazuje za chybu. Tento prepinac zvykne byt zapnuty v subore: ”/usr/share/qt4/mkspecs/common/g++.conf”. Tam to potom vypada takto:
QMAKE_LFLAGS += -Wl,--no-undefined
Miesto toho tam dame:
#QMAKE_LFLAGS += -Wl,--no-undefined QMAKE_LFLAGS +=
Pozn: Po spravnosti pre desktop aplikacie je lepsie tam mat tento prepinac, ale vyvoj pre embedded je specificky a nie vsetky kniznice su rovnako pomenovane pre i386 a pre ARM a teda nie vsetky sa mozu vymenovat v zozname kniznic. Preto tento prepinac vynechavame. Napriek tomu sa odporuca vsetky EMTEST kniznice pouzite inou kniznicou vymenovat v zozname pouzivanych kniznic (napr. -ledatainput -ledataoutput a pod.)
Pri linkovani je potrebne pridat -shared prepinac
LIBS += -L../lib/.emlibs/i386 \ -L../lib/.emlibs/arm
Ak mate projekt ktory obsahuje podprojekty, overte si, ci niektory podprojekt nema v zavislostiach -lpng.
Ak pouzivate novsie systemy (napr, od 12/04 LTS) tak tie funguju tak, ze davaju pri linkovani iba tie kniznice ktore su pozadovane tym, co je linkovane. Kedze my casto nedavame do kniznic zoznam pozadovanych dalsich kniznic, tak sa nam moze stat, ze pri linkovani aplikacie to vyhlasi, ze nemame niektore symboly. Dovodom je, ze libka ktora je pouzita dalsou libkou, ktoru pouzivame v aplikacii
, ale nie je sama pouzita apliakciou, nie je ani zaradena medzi tie ktore sa s aplikaciou linkuju. Vtedy je moznost zadat parameter:
-Wl,--no-as-needed
Pridanie atributu je potrebne dat pred linkovanie kniznic, kde hlasi chybajuce symboly. Tym sa pouziju vsetky vymenovane symboly z kniznic.