Bonjour,
J'ai installé ressament installé Qt 4.8 sur mon Mac.
Mac OS X 10.7 Lion ne supportant plus Qt 4.7 j'ai été contraint de passer à la beta de Qt. J'ai pour la même occasion intégré MySql et OpenSSL 1.
Je me suis rapidement rendu compte que mes build n'était pas forcement diffusables étant donné que les librairies Qt sont déclaré en absolut.
Voici le résultat de la commande otool sur mon executable :
1 2 3 4 5 6 7 8
| $ otool -L QtWithPlugins
QtWithPlugins:
/Developer/qt/lib/QtGui.framework/Versions/4/QtGui (compatibility version 4.8.0, current version 4.8.0)
/Developer/qt/lib/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.0)
/usr/local/mysql/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1094.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0) |
J'ai donc Googlisé et essayé differentes technique :
Changer les links avec install_name_tool (http://developer.qt.nokia.com/forums/viewthread/11032)
reparamettrer Qt Creator (http://doc.qt.nokia.com/stable/deployment-mac.html)
ou encore modifier le makefile.
Mais rien y fait 
Voici la commande qui m'a permi de configurer Qt avant le build
./configure -prefix /Developer/qt -nomake examples -nomake demos -nomake tests -qt-zlib -qt-libpng -qt-libjpeg -qt-sql-mysql -I /usr/local/mysql/include/ -L /usr/local/mysql/lib/ -lmysqlclient -openssl-linked -I/usr/local/ssl/include/ -L/usr/local/ssl/lib/
le .pro du projet avec le quel je m'amuse actuelement :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| QT += core gui
CONFIG += release
TARGET = QtWithPlugins
TEMPLATE = app
INCLUDEPATH = .
SOURCES += main.cpp\
pluginmanager.cpp \
tabswithextdock.cpp
HEADERS += \
plugininterface.h \
pluginmanager.h \
tabswithextdock.h \ |
et le début de mon makefile :
1 2 3 4 5 6 7 8 9 10 11 12 13
|
CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS = -pipe -O2 -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Wall -W $(DEFINES)
CXXFLAGS = -pipe -O2 -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Wall -W $(DEFINES)
INCPATH = -I/Developer/qt/mkspecs/macx-g++ -I. -I/Developer/qt/lib/QtCore.framework/Versions/4/Headers -I/Developer/qt/include/QtCore -I/Developer/qt/lib/QtGui.framework/Versions/4/Headers -I/Developer/qt/include/QtGui -I/Developer/qt/include -I. -I. -F/Developer/qt/lib
LINK = g++
LFLAGS = -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5
LIBS = $(SUBLIBS) -F/Developer/qt/lib -L/Developer/qt/lib -framework QtGui -L/usr/local/mysql/lib/ -L/usr/local/ssl/lib/ -L/Developer/qt/lib -F/Developer/qt/lib -framework QtCore -lmysqlclient
AR = ar cq
RANLIB = ranlib -s
QMAKE = /Developer/qt/bin/qmake |
Merci d'avance pour votre aide
Gwennin
Partager