====== Submoduly ====== Ak vytvarame novy projekt / stary projekt vypisuje chyby v style "cannot find -l" (napr. "cannot find -ldataio"), v projekte nie su spravne nalinkovane libky. Libky je vhodne pridavat do projektu ako submoduly. Na pridanie submodulu treba upravit: ===== Hlavny subor projektu ===== (napr. ak je projekt Vesna tak Vesna.pro) - tu nastavime: * SUBDIRS (submoduly) - pre kazdu kniznicu pridame relativnu cestu k libke, napr "../DataIO/src/dataio" SUBDIRS += \ ../Core/src/core \ ../DataIO/src/dataio \ ../SmartCardService/src/utils \ ../SmartCardService/src/eevents \ src * src.depends (co sa musi skompilovat pred kompilaciou src) - pre kazdu kniznicu pridame relativnu cestu src.depends += \ ../Core/src/core \ ../DataIO/src/dataio \ ../SmartCardService/src/utils \ ../SmartCardService/src/eevents ===== src.pro ===== (napr. ak je projekt Vesna tak Vesna/src/src.pro) * INCLUDEPATH - pridame relativne cesty k libkam, direktiva #include v zdrojakoch bude hladat v tychto priecinkoch INCLUDEPATH += \ ../../Core/src/core/ \ ../../DataIO/src/dataio \ ../../SmartCardService/src * LIBS: pre kazdu kniznicu pridame riadok "-l" a "-L" LIBS += \ -L../../Core/src/core \ -L../../DataIO/src/dataio \ -L../../SmartCardService/src/eevents \ -L../../SmartCardService/src/utils/ \ -lcore \ -ldataio \ -leevents \ -lutils ! Pozor - relativne cesty v src.pro su zvycajne o jednu uroven nizsie ako hlavny .pro (teda o jeden "../" viac) ===== .pri subor ===== Ak nechceme pisat v kazdom projekte zvlast relativne cesty, mozeme vyuzit .pri subor, ktory cesty obsahuje. Existujuci .pri pouzivany vo vacsine projektov je napriklad /VehicleSystem/pri_subdir_paths.pri Dany .pri subor treba pridat do hlavneho .pro aj src.pro pomocou include() cize napriklad include(../pri_subdir_paths.pri) Potom nam namiesto relativnych ciest postaci pisat nazov kniznice (resp. nazov definovany v danom .pri).