Adding lib files and their paths in .pro file [Closed]
-
The only option to have classes in one project and the slots in another would be to have a class in project 1 which is exportet and then used inside the other. but members inside one project should never be used in others...
-
Most likely you don't need all of this.
-
[quote author="imrrk" date="1303743420"],hey i read it,but suppose i have a push button in say 4.pro and the fuction on click has been written in 3.pro so whether your link provides me the solution for this..
thanks
imrrk[/quote]Honestly it seems like a bad architecture to me. Why don't you split them into "several libraries and include them at your new project":http://doc.qt.nokia.com/qtcreator-snapshot/creator-project-qmake-libraries.html ?
Regards,
Leon -
hi leon,i want to do exactly what u r saying but,abd o checked your link and tried it,but i am using nokia qt sdk version 1.0 and in the last step of project management dialog,the option of add project is disabled
-
[quote author="imrrk" date="1303793675"]hi leon,i want to do exactly what u r saying but,abd o checked your link and tried it,but i am using nokia qt sdk version 1.0 and in the last step of project management dialog,the option of add project is disabled[/quote]
Hi imrrk,
Unfortunately I am not Qt Creator expert and I cannot advise you. But whatever Qt Creator is doing it can be done manually but you will have to read the documentation carefully. Some useful links:
"qmake Manual":http://doc.qt.nokia.com/4.7/qmake-manual.html
"INCLUDEPATH":http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#includepath
"LIBS":http://doc.qt.nokia.com/4.7/qmake-variable-reference.html#libsLIBS and INCLUDEPATH are important keywords that you should use to point out which libraries do you want to include and what is the path to the header files.
Best regards,
Leon -
thanks leon ,but i want to know how to create a lib file of my project
-
hi gerolf,I will explain it in detail,now i have already created a application,and now i want to add few more dialogs at the beginning of my application,so for that i have created a diffrent project and know i want just to integrate these two projects..so please help me out..
for example i have a dialog in which i have taken a push button so on click on this pushbutton i want to open a dialog which is present in the another project file,so please help me out,i hope my isssue is clear to you,I apologize if nay mistakesthanks
imrrk -
Actually i hv one pushButton in different project file and on the click of push button it should refer to a Mainwindow which is present in another project file..i created the lib file of one project say test.pro in the below way..
@
TEMPLATE=lib
CONFIG+=dll
@
After writing this code in test.pro file and when i build it..i get two files test.a and test.dll in test-buildsimulator folder..Now i added this path of the lib file in my test1.pro file in the following way....
@
win32:
{
LIBS += -L../test-build-simulator/debug
}
LIBS += -ltest
}
@
wether i am proceeding correctly....[edit: code highlighted with @ tags / Denis Kormalev]
-
Then your push button should be connected to a signal of your dialog. your dialog is exported so you can connect to it from outside the lib. The push button is not accessible from outside.
This is a normal C++ issue, hide members from being used from outside of the class.
-
[quote author="imrrk" date="1303796480"]thanks leon ,but i want to know how to create a lib file of my project[/quote]
I think you are on the right way as you have already started to rework the project. For hints regarding dynamic library you can also check "this thread":http://developer.qt.nokia.com/forums/viewthread/5204/
[quote author="imrrk" date="1303802132"]
@
win32:
{
LIBS += -L../test-build-simulator/debug
}
LIBS += -ltest
}
@
wether i am proceeding correctly....
[/quote]I am just wondering which is your target platform because here I see win32 and the thread is in Mobile and Embedded section?
-
hi leon ,i am working for symbian device..only and whether we should include these lines ?
and hey please help me about the pushbutton issue -
hey gerolf,i am not getting you..........
-
Hi imrrk,
For Symbian specific things use symbian at the .pro file.
In this case it is highly recommended to a look at this article at Forum Nokia about "shared libraries on Qt for Symbian":http://wiki.forum.nokia.com/index.php/Shared_Library_DLLs_on_Qt_for_Symbian
If you are planning to develop commercial software please note the remarks about UID and Symbian Signed - you might need to sign your DLL too!
P.S.
Please try to avoid spam and combine your message in a single post or edit existing post when it is possible. -
Hi imrrk,
you should design a clean dialog.
So your dialog might have custom signals-. How they are emitted does not matter to the user of the dialog, also not which widgets are placed on it. The signal can be emitted when the push butrton is pressed.
@
MyDialog::MyxDialog()
{
UI = new ...
ui->setupUI(this);connect(ui->button, SIGNAL(clicked()), this, SIGNAL(myClickedSignal()))
}
@This is pseudo code, not build, not tested
-
Note that this topic has been explained more than once already. Like in "this":http://developer.qt.nokia.com/forums/viewthread/5144/ thread. Your case is not so different, so learn from the answers that are already there first.
-
hi Gerolf
Actually my dialog where i have a pushbutton is in one project file and the dialog which i want to connect it through this pushbutton is in another project file and both project files are in seperated folder,i.e i have created one project file and my friend has created another project file,so i want to integrate these two diffrent projects
-
hello andre,I have two different prjects and am trying to integrate these projects,such has on click of pushbutton in my one project it should open a dialog which is present in another project so that it can be solved in a modular way..
regards
imrrk -
Imrrk,
did you read the posts?
Create a signal in the exported dialog, which is triggered by the button.
use this signal for your actions.
Anything unclear with this statement?
-
There are several ways to do this. Do you want a full-fledged library, or just use different .pro files for your components? I use the second way frequently.
Instead of using a .pro file, I use a .pri file. They are the same format, but a .pri file is semantically different. It does not describe a complete project, it only describes what is needed for a single component that I may use in several projects. A typical .pri file might look like this for me:
@
SOURCES *= src/fileselector.cpp
HEADERS *= src/fileselector.h
FORMS *= ui/fileSelectorUI.ui
@Then, in the project where I want to use this component, I have this in the .pro file (along with everything else that needs to be in the .pro file to make it a complete project, of course):
@
VPATH = ../common/
INCLUDEPATH += ../common/src/include(../common/fileselector.pri)
@In my source, where I use this component, I then only need to do this:
@
#include "fileselector.h"
@and I can access everything I need from the FileSelector component. I am currently using this pattern for about 30 components that I use across 10 or so applications, so I can vouch for this method working.
A downside to this method is that if you change something in a component, you need to re-compile all the applications that use that component. Also, each component is re-compiled for every application. If you put the component in a real library, you only need to compile it once when it changes. Also, if you have several of these different applications sharing the same components open at the same time, you can share the memory needed for them.
-
hey gerolf,I am sorry but if you r with me,we will go from first,
now I have created freshly two projects and named as test1 and test2.which contains nothing.now tell me what is my first step and whether i have to create lib file?I will go as per your instructions,
regards
imrrk