forked from Xastir/Xastir-Qt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.qt
177 lines (132 loc) · 5.86 KB
/
README.qt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
LATEST STATUS:
--------------
The File->Exit and Interface->Interface Control portions work. No other
menu options have been implemented. It will connect to a server and display
raw packets as they come in, but there are no maps, symbols, etc. There's
not any packet decoding either. The networking is both IPv4 and IPv6
compatible. It compiles/runs fine and should be very cross-platform at
this stage (must be compiled on each one though).
INITIAL PREPARATION:
--------------------
Qt4 development tools are required for compiling -or- GUI design. For SuSE
Linux they are in the "libqt4-devel" RPM package. This includes "qmake",
"uic", and "designer" (Qt4 Designer).
You'll also need the gcc-c++ compiler installed. For SuSE Linux that's in
the "gcc-c++" package.
You can do manual builds or builds from within Qt Creator. In general I
describe manual builds here.
MANUAL BUILD:
-------------
cd Xastir/src/qt
./build.sh
RUN THE EXECUTABLE:
-------------------
cd build
./xastir_qt &
GENERAL QT4 NOTES:
------------------
*) Do an out-of-source build to keep the source code directory pristine.
Perform all configure/compile commands from inside a "build" directory:
mkdir -p build
cd build
*) Use QT 4 Designer to create the graphical elements. Each
dialog/window gets written out to a separate *.ui file.
designer &
Open->mainwindow.ui
*) Manual compile of ".ui" files: Use the "uic" compiler to compile
.ui files to .h files: Note: The "qmake" command below does this
automatically!
uic -o *.h *.ui
*) moc -o mydialog.moc mydialog.h
*) Use "qmake -project" to create the initial .pro file for the
os-independent build system.
*) Include the .h files in the .cpp files for your C++ program.
*) Use "qmake" to build the project.
*) "make"
Examples: (Generic, not for the Xastir project:
uic -o ui_mydialog.h mydialog.ui
moc -o mydialog.moc mydialog.h
qmake -project
qmake
make
Once the project branch has been checked-out, these steps issued
from the command-line should compile it:
cd Xastir/src/qt
mkdir -p build
cd build
qmake ../xastir-qt.pro
make
Remember also that the *best* way to do multiple builds of an
autoconfiscated code (and a qmake-ified code) is do do out-of-source
builds, not in-source builds. Doing so keeps the source tree
unpolluted with build droppings. Thus,
mkdir ~/builds/xastir-qt -p
cd ~/builds/xastir-qt
qmake ~/src/xastir/qt/xastir-qt.pro
make
will build the qt stuff, and
mkdir ~/builds/xastir-motif -p
cd ~/builds/xastir-motif
~/src/xastir/configure
make
will build the normal build, and neither will interfere with the
other.
libqt4-devel rpm provides these binaries (as well as include files
and others). Those with '*' are the ones we currently use:
* /usr/bin/designer
/usr/bin/lconvert
/usr/bin/linguist
/usr/bin/lrelease
/usr/bin/lupdate
* /usr/bin/moc
/usr/bin/pixeltool
/usr/bin/qdbuscpp2xml
/usr/bin/qdbusxml2cpp
/usr/bin/qdoc3
/usr/bin/qhelpconverter
/usr/bin/qhelpgenerator
* /usr/bin/qmake
/usr/bin/qt3to4
/usr/bin/qttracereplay
/usr/bin/qvfb
/usr/bin/rcc
* /usr/bin/uic
/usr/bin/uic3
SPECIFIC NOTES:
---------------
Here's what Qt Creator does when you do a Build->Clean All:
-----------------------------------------------------------
Starting: /usr/bin/make clean -w
make: Entering directory `/home/src/we7u/xastir/xastir-qt'
rm -f moc_xastir.cpp
rm -f ui_mainwindow.h
rm -f main.o mainwindow.o moc_xastir.o
rm -f *~ core *.core
make: Leaving directory `/home/src/we7u/xastir/xastir-qt'
Exited with code 0.
Here's a Qt Creator Build->Build All command:
---------------------------------------------
Configuration unchanged, skipping QMake step.
Starting: /usr/bin/make -w
make: Entering directory `/home/src/we7u/xastir/xastir-qt'
/usr/bin/uic mainwindow.ui -o ui_mainwindow.h
g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o main.o main.cpp
g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o mainwindow.o mainwindow.cpp
/usr/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. xastir.h -o moc_xastir.cpp
g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o moc_xastir.o moc_xastir.cpp
g++ -m64 -o xastir-qt main.o mainwindow.o moc_xastir.o -L/usr/lib64 -lQtGui -L/usr/lib64 -L/usr/X11R6/lib64 -lQtNetwork -lQtCore -lpthread
make: Leaving directory `/home/src/we7u/xastir/xastir-qt'
Exited with code 0.
Here's a Qt Creator Build->Run qmake (I must have something misconfigured in my project):
-----------------------------------------------------------------------------------------
Starting: /usr/bin/qmake /home/src/we7u/xastir/xastir-qt/xastir-qt.pro -spec linux-g++-64 -r CONFIG+=debug QMLJSDEBUGGER_PATH=/usr/share/qtcreator/qml/qmljsdebugger
Exited with code 0.
<I'm pretty sure that Curt's notes below assume that there are
left-over droppings from a previous qmake on another system. None of
those files are still in CVS, so they shouldn't be relevant: you
should always need to do a qmake from a fresh check-out, and you are
highly advised to do an out-of-source build as noted above>
LINUX:
------
For Linux: Had to run "qmake;make" on a 32-bit system because all the files
had been created on a 64-bit system. On a 64-bit system just run "make".