Niedawno przesiadłem się na Maca (z Linuxa, którego używalem ponad 6 lat) i na razie wszystko jest super, ale mam jeden problem i chyba to forum jest właściwe. Potrzebuję programu QtiPlot - mam sporo danych w jego formacie, poza tym robi to, czego potrzebuję i jest na GPL. Z tym, że za binarki autor każe sobie płacić (i to niemało), za darmo można sobie skompilować ze żródeł. Pod linuxem nie miałem z tym problemów, ale na Macu (Tiger 10.4.10) się zatkałem.
Postępuje według instrukcji ze strony programu. Jedną z zależności jest biblioteka Qwt. Trzeba ją skompilować ze źródła, co prawda jest w fink (unstable) ale tam ściąga i kompiluje się dla qt3, a QtiPlot musi być z qt4. Zainstalowałem więc qt od Trolltecha (wersję open source 4.3.1), odpaliłem qmake, zrobił Makefile, ale make wywala się pisząc:
c++ -c -pipe -g -Wall -W -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.3.1/mkspecs/macx-g++ -I. -I/usr/local/Trolltech/Qt-4.3.1/lib/QtCore.framework/Versions/4/Headers -I/usr/local/Trolltech/Qt-4.3.1/include/QtCore -I/usr/local/Trolltech/Qt-4.3.1/include/QtCore -I/usr/local/Trolltech/Qt-4.3.1/lib/QtGui.framework/Versions/4/Headers -I/usr/local/Trolltech/Qt-4.3.1/include/QtGui -I/usr/local/Trolltech/Qt-4.3.1/include/QtGui -I/usr/local/Trolltech/Qt-4.3.1/include -I. -Idesigner -Isrc -Iexamples/bode -Iexamples/cpuplot -Iexamples/curvdemo2 -Iexamples/data_plot -Iexamples/dials -Iexamples/event_filter -Iexamples/histogram -Iexamples/radio -Iexamples/realtime_plot -Iexamples/sliders -Itextengines/mathml -I. -I. -F/usr/local/Trolltech/Qt-4.3.1/lib -o qwt_designer_plugin.o designer/qwt_designer_plugin.cpp designer/qwt_designer_plugin.cpp:17:40: error: QDesignerFormEditorInterface: No such file or directory designer/qwt_designer_plugin.cpp:18:40: error: QDesignerFormWindowInterface: No such file or directory designer/qwt_designer_plugin.cpp:19:46: error: QDesignerFormWindowCursorInterface: No such file or directory designer/qwt_designer_plugin.cpp:20:29: error: QExtensionManager: No such file or directory In file included from designer/qwt_designer_plugin.cpp:23: designer/qwt_designer_plugin.h:23:42: error: QDesignerCustomWidgetInterface: No such file or directory designer/qwt_designer_plugin.h:24:38: error: QDesignerTaskMenuExtension: No such file or directory designer/qwt_designer_plugin.h:25:29: error: QExtensionFactory: No such file or directory designer/qwt_designer_plugin.h:32: error: expected class-name before '{' token designer/qwt_designer_plugin.h:49: error: 'QDesignerFormEditorInterface' has not been declared designer/qwt_designer_plugin.h:66: error: expected class-name before '{' token designer/qwt_designer_plugin.h:73: error: 'QDesignerCustomWidgetInterface' was not declared in this scope designer/qwt_designer_plugin.h:73: error: template argument 1 is invalid designer/qwt_designer_plugin.h:76: error: 'QDesignerCustomWidgetInterface' was not declared in this scope designer/qwt_designer_plugin.h:76: error: template argument 1 is invalid designer/qwt_designer_plugin.h:210: error: expected class-name before '{' token designer/qwt_designer_plugin.h:214: error: expected `)' before '*' token designer/qwt_designer_plugin.h:210: warning: 'class QwtDesignerPlugin::TaskMenuFactory' has virtual functions but non-virtual destructor designer/qwt_designer_plugin.h:223: error: expected class-name before '{' token designer/qwt_designer_plugin.cpp:102: error: variable or field 'initialize' declared void designer/qwt_designer_plugin.cpp:102: error: 'int QwtDesignerPlugin::CustomWidgetInterface::initialize' is not a static member of 'class QwtDesignerPlugin::CustomWidgetInterface' designer/qwt_designer_plugin.cpp:102: error: 'QDesignerFormEditorInterface' was not declared in this scope designer/qwt_designer_plugin.cpp:102: error: 'formEditor' was not declared in this scope designer/qwt_designer_plugin.cpp:103: error: expected ',' or ';' before '{' token designer/qwt_designer_plugin.cpp: In constructor 'QwtDesignerPlugin::CustomWidgetCollectionInterface::CustomWidgetCollectionInterface(QObject*)': designer/qwt_designer_plugin.cpp:413: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:414: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:418: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:419: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:420: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:421: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:422: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:423: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:424: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:425: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp:428: error: request for member 'append' in '((QwtDesignerPlugin::CustomWidgetCollectionInterface*)this)->QwtDesignerPlugin::CustomWidgetCollectionInterface::d_plugins', which is of non-class type 'int' designer/qwt_designer_plugin.cpp: At global scope: designer/qwt_designer_plugin.cpp:431: error: 'QDesignerCustomWidgetInterface' was not declared in this scope designer/qwt_designer_plugin.cpp:431: error: template argument 1 is invalid designer/qwt_designer_plugin.cpp:437: error: expected `)' before '*' token designer/qwt_designer_plugin.cpp: In member function 'QObject* QwtDesignerPlugin::TaskMenuFactory::createExtension(QObject*, const QString&, QObject*) const': designer/qwt_designer_plugin.cpp:445: error: 'QDesignerTaskMenuExtension' was not declared in this scope designer/qwt_designer_plugin.cpp:445: error: 'Q_TYPEID' was not declared in this scope designer/qwt_designer_plugin.cpp:457: error: 'QExtensionFactory' has not been declared designer/qwt_designer_plugin.cpp: In member function 'void QwtDesignerPlugin::TaskMenuExtension::applyProperties(const QString&)': designer/qwt_designer_plugin.cpp:509: error: 'QDesignerFormWindowInterface' was not declared in this scope designer/qwt_designer_plugin.cpp:509: error: 'formWindow' was not declared in this scope designer/qwt_designer_plugin.cpp:510: error: 'QDesignerFormWindowInterface' is not a class or namespace designer/qwt_designer_plugin.cpp:510: error: 'findFormWindow' was not declared in this scope make: *** [qwt_designer_plugin.o] Error 1Wygląda to, jakby nie znajdował jakichś nagłówków, ale ścieżki w komendzie c++ (i INCPATH w makefile) wyglądają OK (QT jest w /usr/local/Trolltech/Qt-4.3.1/).
Powyższe jest z QT kompilowanym ze żródeł, ale jak spróbowałem z binarną paczką z Trolltecha to były identyczne błędy (tylko ścieżki inne, bo wtedy QT idzie do /developer/tools).
Ktoś ma jakiś pomysł, jak poprawić - ja sam nie jestem programistą, potrzebuję tego programu, a pod gentoo kompilacje mi po prostu chodziły, bez takich jazd.