Bonjour,

Ce n'est pas exactement une question sur code::blocks à par entière mais...secondement, je précise que travaille sur environement Mac OS.

j'ai créé une application graphique avec QT4 et il y a un bout de code en c++ que je lance avec un bouton. Jusque là tout marche parfaitement. J'ai compilé l'application avec la méthode décrite par qt4 (qmake -project.... -o Makefile....make) et avec code blocks (qui compile directement les interfaces en qt4) et j'ai constaté une chose curieuse suivante : le temps de calcul de mon bout de code en c++ est 4/5 fois plus long quand je compile avec la méthode Qt qu'avec code::blocks (je pense que c'est due aux options de compilation). Le truc, c'est qu'avec le Makefile généré par qmake, je compile directement des application en .app (pour Mac os) contrairement à code::blocks qui me génère des binaires. Or, je trouve bien sympathique de récupérer un .app directement...

Donc, je pose 3 questions :

1) Est-il possible de générer des .app avec code::blocks directement (ça me faciliterait la tache)?

2) Sinon, existe-t-il un outil qui permette de générer des .app depuis des fichier binaires?

3) Quelles sont les options de compilations à indiquer pour retrouver les mêmes performances de temps de calculs de code::blocks? un bon tutoriel sur Makefile?

merci!

Mon Makefile (générer par qmake) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
 
#############################################################################
# Makefile for building: Soundlab_GUI.app/Contents/MacOS/Soundlab_GUI
# Generated by qmake (2.01a) (Qt 4.3.4) on: jeu. avr. 3 15:08:09 2008
# Project:  Soundlab_GUI.pro
# Template: app
# Command: /usr/lib/bin/qmake -macx -o Makefile Soundlab_GUI.pro
#############################################################################
 
####### Compiler, tools and options
 
CC            = g++
CXX           = g++
DEFINES       = -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS        = -pipe -Wall -W $(DEFINES)
 
INCPATH       = -I/usr/lib/mkspecs/default -I. 
-I/usr/lib/lib/QtCore.framework/Headers 
-I/usr/lib/include/QtCore -I/usr/lib/include/QtCore -I/usr/lib/lib/QtGui.framework/Headers 
-I/usr/lib/include/QtGui -I/usr
 
/lib/include/QtGui -I/usr/lib/include -I. -I. -I. -F/usr/lib//lib
 
LINK          = c++
LFLAGS        = -headerpad_max_install_names
LIBS          = $(SUBLIBS) -F/usr/lib//lib -L/usr/lib//lib 
-lsndfile -framework QtGui -framework Carbon -framework AppKit -liconv -framework QtCore -lz -lm -framework ApplicationServices
AR            = ar cq
RANLIB        = ranlib -s
QMAKE         = /usr/lib/bin/qmake
TAR           = tar -cf
COMPRESS      = gzip -9f
COPY          = cp -f
SED           = sed
COPY_FILE     = cp -f
COPY_DIR      = cp -f -R
INSTALL_FILE  = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
INSTALL_PROGRAM = $(COPY_FILE)
DEL_FILE      = rm -f
SYMLINK       = ln -sf
DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
 
####### Output directory
 
OBJECTS_DIR   = ./
 
####### Files
 
SOURCES       = GUI.cpp \
		main.cpp \
		Tache.cpp moc_GUI.cpp
OBJECTS       = GUI.o \
		main.o \
		Tache.o \
		moc_GUI.o
DIST          = /usr/lib/mkspecs/common/unix.conf \
		/usr/lib/mkspecs/common/mac.conf \
		/usr/lib/mkspecs/common/mac-g++.conf \
		/usr/lib/mkspecs/qconfig.pri \
		/usr/lib/mkspecs/features/qt_functions.prf \
		/usr/lib/mkspecs/features/qt_config.prf \
		/usr/lib/mkspecs/features/exclusive_builds.prf \
		/usr/lib/mkspecs/features/default_pre.prf \
		/usr/lib/mkspecs/features/mac/default_pre.prf \
		/usr/lib/mkspecs/features/debug.prf \
		/usr/lib/mkspecs/features/default_post.prf \
		/usr/lib/mkspecs/features/mac/default_post.prf \
		/usr/lib/mkspecs/features/mac/objective_c.prf \
		/usr/lib/mkspecs/features/warn_on.prf \
		/usr/lib/mkspecs/features/qt.prf \
		/usr/lib/mkspecs/features/unix/thread.prf \
		/usr/lib/mkspecs/features/moc.prf \
		/usr/lib/mkspecs/features/mac/rez.prf \
		/usr/lib/mkspecs/features/mac/sdk.prf \
		/usr/lib/mkspecs/features/resources.prf \
		/usr/lib/mkspecs/features/uic.prf \
		/usr/lib/mkspecs/features/yacc.prf \
		/usr/lib/mkspecs/features/lex.prf \
		Soundlab_GUI.pro
QMAKE_TARGET  = Soundlab_GUI
DESTDIR       =
TARGET        = Soundlab_GUI.app/Contents/MacOS/Soundlab_GUI
 
####### Custom Compiler Variables
QMAKE_COMP_QMAKE_OBJECTIVE_CFLAGS = -pipe \
		-g \
		-Wall \
		-W
 
 
first: all
####### Implicit rules
 
.SUFFIXES: .o .c .cpp .cc .cxx .C
 
.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
 
.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
 
.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
 
.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
 
.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
 
####### Build rules
 
all: Makefile Soundlab_GUI.app/Contents/PkgInfo Soundlab_GUI.app/Contents/Info.plist $(TARGET)
 
$(TARGET): ui_GUI.h $(OBJECTS)
	@$(CHK_DIR_EXISTS) Soundlab_GUI.app/Contents/MacOS/ || $(MKDIR) Soundlab_GUI.app/Contents/MacOS/
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
 
Makefile: Soundlab_GUI.pro  /usr/lib/mkspecs/default/qmake.conf /usr/lib/mkspecs/common/unix.conf \
		/usr/lib/mkspecs/common/mac.conf \
		/usr/lib/mkspecs/common/mac-g++.conf \
		/usr/lib/mkspecs/qconfig.pri \
		/usr/lib/mkspecs/features/qt_functions.prf \
		/usr/lib/mkspecs/features/qt_config.prf \
		/usr/lib/mkspecs/features/exclusive_builds.prf \
		/usr/lib/mkspecs/features/default_pre.prf \
		/usr/lib/mkspecs/features/mac/default_pre.prf \
		/usr/lib/mkspecs/features/debug.prf \
		/usr/lib/mkspecs/features/default_post.prf \
		/usr/lib/mkspecs/features/mac/default_post.prf \
		/usr/lib/mkspecs/features/mac/objective_c.prf \
		/usr/lib/mkspecs/features/warn_on.prf \
		/usr/lib/mkspecs/features/qt.prf \
		/usr/lib/mkspecs/features/unix/thread.prf \
		/usr/lib/mkspecs/features/moc.prf \
		/usr/lib/mkspecs/features/mac/rez.prf \
		/usr/lib/mkspecs/features/mac/sdk.prf \
		/usr/lib/mkspecs/features/resources.prf \
		/usr/lib/mkspecs/features/uic.prf \
		/usr/lib/mkspecs/features/yacc.prf \
		/usr/lib/mkspecs/features/lex.prf \
		/Library/Frameworks/QtGui.framework/QtGui.prl \
		/Library/Frameworks/QtCore.framework/QtCore.prl
	$(QMAKE) -macx -o Makefile Soundlab_GUI.pro
/usr/lib/mkspecs/common/unix.conf:
/usr/lib/mkspecs/common/mac.conf:
/usr/lib/mkspecs/common/mac-g++.conf:
/usr/lib/mkspecs/qconfig.pri:
/usr/lib/mkspecs/features/qt_functions.prf:
/usr/lib/mkspecs/features/qt_config.prf:
/usr/lib/mkspecs/features/exclusive_builds.prf:
/usr/lib/mkspecs/features/default_pre.prf:
/usr/lib/mkspecs/features/mac/default_pre.prf:
/usr/lib/mkspecs/features/debug.prf:
/usr/lib/mkspecs/features/default_post.prf:
/usr/lib/mkspecs/features/mac/default_post.prf:
/usr/lib/mkspecs/features/mac/objective_c.prf:
/usr/lib/mkspecs/features/warn_on.prf:
/usr/lib/mkspecs/features/qt.prf:
/usr/lib/mkspecs/features/unix/thread.prf:
/usr/lib/mkspecs/features/moc.prf:
/usr/lib/mkspecs/features/mac/rez.prf:
/usr/lib/mkspecs/features/mac/sdk.prf:
/usr/lib/mkspecs/features/resources.prf:
/usr/lib/mkspecs/features/uic.prf:
/usr/lib/mkspecs/features/yacc.prf:
/usr/lib/mkspecs/features/lex.prf:
/Library/Frameworks/QtGui.framework/QtGui.prl:
/Library/Frameworks/QtCore.framework/QtCore.prl:
qmake:  FORCE
	@$(QMAKE) -macx -o Makefile Soundlab_GUI.pro
 
Soundlab_GUI.app/Contents/PkgInfo:
	@$(CHK_DIR_EXISTS) Soundlab_GUI.app/Contents || $(MKDIR) Soundlab_GUI.app/Contents
	@$(DEL_FILE) Soundlab_GUI.app/Contents/PkgInfo
	@echo "APPL????" >Soundlab_GUI.app/Contents/PkgInfo
Soundlab_GUI.app/Contents/Info.plist:
	@$(CHK_DIR_EXISTS) Soundlab_GUI.app/Contents || $(MKDIR) Soundlab_GUI.app/Contents
	@$(DEL_FILE) Soundlab_GUI.app/Contents/Info.plist
	@sed -e "s,@ICON@,,g" -e "s,@EXECUTABLE@,Soundlab_GUI,g" -e "s,@TYPEINFO@,????,g" /usr/lib/mkspecs/macx-g++/Info.plist.app >Soundlab_GUI.app/Contents/Info.plist
dist:
	@$(CHK_DIR_EXISTS) .tmp/Soundlab_GUI1.0.0 || $(MKDIR) .tmp/Soundlab_GUI1.0.0
	$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Soundlab_GUI1.0.0/ && $(COPY_FILE) --parents GUI.h Tache.h .tmp/Soundlab_GUI1.0.0/ && $(COPY_FILE) --parents GUI.cpp main.cpp Tache.cpp .tmp/Soundlab_GUI1.0.0/ && $(COPY_FILE) --parents GUI.ui .tmp/Soundlab_GUI1.0.0/ && (cd `dirname .tmp/Soundlab_GUI1.0.0` && $(TAR) Soundlab_GUI1.0.0.tar Soundlab_GUI1.0.0 && $(COMPRESS) Soundlab_GUI1.0.0.tar) && $(MOVE) `dirname .tmp/Soundlab_GUI1.0.0`/Soundlab_GUI1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Soundlab_GUI1.0.0
 
 
clean:compiler_clean
	-$(DEL_FILE) $(OBJECTS)
	-$(DEL_FILE) *~ core *.core
 
 
####### Sub-libraries
 
distclean: clean
	-$(DEL_FILE) -r Soundlab_GUI.app
	-$(DEL_FILE) Makefile
 
 
mocclean: compiler_moc_header_clean compiler_moc_source_clean
 
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
 
compiler_objective_c_make_all:
compiler_objective_c_clean:
compiler_moc_header_make_all: moc_GUI.cpp
compiler_moc_header_clean:
	-$(DEL_FILE) moc_GUI.cpp
moc_GUI.cpp: ui_GUI.h \
		GUI.h
	/usr/lib//bin/moc $(DEFINES) $(INCPATH) -D__APPLE__ -D__GNUC__ GUI.h -o moc_GUI.cpp
 
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
	-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_rez_source_make_all:
compiler_rez_source_clean:
compiler_uic_make_all: ui_GUI.h
compiler_uic_clean:
	-$(DEL_FILE) ui_GUI.h
ui_GUI.h: GUI.ui
	/usr/lib/bin/uic GUI.ui -o ui_GUI.h
 
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean compiler_uic_clean
 
####### Compile
 
GUI.o: GUI.cpp GUI.h \
		ui_GUI.h \
		Tache.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o GUI.o GUI.cpp
 
main.o: main.cpp GUI.h \
		ui_GUI.h \
		Tache.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
 
Tache.o: Tache.cpp Tache.h
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o Tache.o Tache.cpp
 
moc_GUI.o: moc_GUI.cpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_GUI.o moc_GUI.cpp
 
####### Install
 
install:   FORCE
 
uninstall:   FORCE
 
FORCE: