My thought on the matter would be something like this: ex1.pro: include(Frames/Frames.pri)
Frames/Frames.pri: HEADERS += Frames/Frame1/Frame1.h Frames/Frame2/Frame2.h SOURCES += Frames/Frame1/Frame1.cpp Frames/Frame2/Frame2.cpp FORMS += Frames/Frame1/Frame1.ui Frames/Frame2/Frame2.ui et cetera. Notice that you still need to use the path relative to ex1.pro, not to the .pri file -- this is a fairly common mistake. /s/ Adam On Mon, Aug 16, 2010 at 6:33 PM, Jakov <dkym...@gmail.com> wrote: > Hello Alan, > > I'm editing the pri files. I search the old archive, and find out that > whenever I include a .pri file, Qt Creator "creates" a virtual directory (a > node) in the Projects window (on the left side). > > The main .pro file will include the frames.pri, so it would "create" the > Frames node in the window: > + ex1.pro: include( Frames/Frames.pri) > + frames.pri: > I think the frames.pri should do the same: > include(Frames/Frame1/frame1.pri), but it doesn't work... So I left > frames.pri empty. > > At this step, if I put a class in Frames dir, the project works fine. But I > do want to make a lower level: adding Frame1 and Frame2 directories (which > include their own classes) within Frames. > > There's no link line yet, Alan. > > Thanks for your quick reply! > > Jakov > > > On Tue, Aug 17, 2010 at 6:20 AM, <alan.westbr...@nokia.com> wrote: >> >> Ahh, I see. >> What does the first .pri file look like? >> Do you see the frame.cpp files compile from the compiler output? >> What does your link line look like? >> Alan >> On Aug 16, 2010, at 3:54 PM, ext Jakov wrote: >> >> Dear Adam, >> >> Thanks for your reply. I remove the subdirs already, to make it a normal >> app project. I "try-and-error" many ways, but the layout is not as expected. >> Could you please suggest me the config or give me the document of using .pro >> and .pri file? The idea is, I want to group individual classes (.h, .cpp, >> .ui) in a separate directory (to have a better look, easy to >> find/edit/manage...) within the main project dir, or even at the same >> directory level with main project dir. >> >> I'd like to thank Alan, but there's no libs yet. They're just pure UI >> classes, just at lower directory level, as compared to main project >> directory. I'll not include every single .h, .cpp, and .ui in the HEADERS, >> SOURCES, FORMS in the main .pro, as those files will be included in >> corresponding nodes (Headers, Sources, Forms) separately. >> >> I'm looking forward to your guide... In the meantime, I'll try-'n-error >> again. I look at demo and examples in Qt SDK, but there's no helpful >> examples... Thank you again. >> >> BR, >> Jakov >> >> >> On Mon, Aug 16, 2010 at 9:31 PM, Coda Highland <c...@bobandgeorge.com> >> wrote: >>> >>> First off, don't use a subdirs project for that. Just use a normal >>> "app" project and use relative paths in the .pro file. If you want to >>> organize the .pro file you can use include() with some .pri files -- >>> Creator knows how to sort this out. (Note that .pri files consider >>> paths relative to the main .pro file, not to itself.) >>> >>> Second, "INCLUDEPATH += Frames" in the main .pro file (or possibly in >>> frames.pri) so that "Frame1/Frame1.h" can be found inside of the >>> "Frames" directory. >>> >>> /s/ Adam >>> >>> On Mon, Aug 16, 2010 at 8:51 AM, Jakov <dkym...@gmail.com> wrote: >>> > Hello Group, >>> > >>> > I have a question about organizing subdir/nested classes in Qt Creator. >>> > I >>> > intend to use dozens classes (inherit from QFrame), to be promoted >>> > later. I >>> > want to have each of them grouped in a separate folder (dir). Like >>> > this: >>> > >>> > <PROJECT_ROOT> >>> > ----- Frames >>> > --------- - frames.pro >>> > --------- - Frame1 >>> > ---------------- frame1.h >>> > ---------------- frame1.cpp >>> > ---------------- frame1.ui >>> > ---------------- frame1.pri >>> > -------- - Frame2 >>> > ---------------- frame2.h >>> > ---------------- frame2.cpp >>> > ---------------- frame2.ui >>> > ---------------- frame2.pri >>> > ----- ex1.pro >>> > ----- ex1.h >>> > ----- ex2.cpp >>> > >>> > File frame?.pri indicates HEADERS, SOURCES, FORMS >>> > File frames.pro simply includes those *.pri files. >>> > File ex1.pro: >>> > + TEMPLATE = app subdirs >>> > + SUBDIRS += Frames >>> > >>> > That's it. The problem comes when I'm trying to use frame1, frame2 in >>> > the >>> > main project (ex1). Although I specify INCLUDEPATH += Frames/Frame1 in >>> > the >>> > ex1.pro, ex1 can "see" frame1.h, but it doesn't know about frame1.cpp, >>> > so an >>> > error thrown: undefined reference to `TFrame1::TFrame1(QWidget*)' >>> > >>> > I'll try to summary the problem: how to put individual classes in >>> > subdir >>> > freely? >>> > >>> > Please help me. >>> > >>> > Thank you in advance!!! >>> > >>> > Best regards, >>> > >>> > Jakov >>> > >>> > _______________________________________________ >>> > Qt-creator mailing list >>> > Qt-creator@trolltech.com >>> > http://lists.trolltech.com/mailman/listinfo/qt-creator >>> > >>> > >>> >>> _______________________________________________ >>> Qt-creator mailing list >>> Qt-creator@trolltech.com >>> http://lists.trolltech.com/mailman/listinfo/qt-creator >> >> <ATT00001..txt> >> >> _______________________________________________ >> Qt-creator mailing list >> Qt-creator@trolltech.com >> http://lists.trolltech.com/mailman/listinfo/qt-creator >> > > > _______________________________________________ > Qt-creator mailing list > Qt-creator@trolltech.com > http://lists.trolltech.com/mailman/listinfo/qt-creator > > _______________________________________________ Qt-creator mailing list Qt-creator@trolltech.com http://lists.trolltech.com/mailman/listinfo/qt-creator