Quantcast
Channel: Qt DevNet forums: Installation and Deployment
Viewing all articles
Browse latest Browse all 2113

Qt issues on mac osx 9

$
0
0
I get the following when trying to build a project on mac in qtcreator: In file included from src/main.cpp:4: In file included from /Users/d/Qt/5.3/clang_64/lib/QtGui.framework/Headers/QGuiApplication:1: In file included from /Users/d/Qt/5.3/clang_64/lib/QtGui.framework/Versions/5/Headers/qguiapplication.h:47: /Users/d/Qt/5.3/clang_64/lib/QtGui.framework/Headers/qinputmethod.h:90:5: error: unknown type name 'QLocale'     QLocale locale() const;     ^ This is my main.cpp: /**************************************************************************** basic OpenGL demo modified from http://qt-project.org/doc/qt-5.0/qtgui/openglwindow.html ****************************************************************************/ #include <QtGui/QGuiApplication> #include <iostream> #include "NGLScene.h"       int main(int argc, char **argv) {   QGuiApplication app(argc, argv);   // create an OpenGL format specifier   QSurfaceFormat format;   // set the number of samples for multisampling   // will need to enable glEnable(GL_MULTISAMPLE); once we have a context   format.setSamples(4);   #if defined( DARWIN)     // at present mac osx Mountain Lion only supports GL3.2     // the new mavericks will have GL 4.x so can change     format.setMajorVersion(3);     format.setMinorVersion(2);   #else     // with luck we have the latest GL version so set to this     format.setMajorVersion(4);     format.setMinorVersion(5);   #endif   // now we are going to set to CoreProfile OpenGL so we can't use and old Immediate mode GL   format.setProfile(QSurfaceFormat::CoreProfile);   // now set the depth buffer to 24 bits   format.setDepthBufferSize(24);   // now we are going to create our scene window   NGLScene window;   // and set the OpenGL format   window.setFormat(format);   // we can now query the version to see if it worked   std::cout<<"Profile is "<<format.majorVersion()<<" "<<format.minorVersion()<<"\n";   // set the window size   window.resize(1024, 720);   // and finally show   window.show();     return app.exec(); } Weird thing is the line 4 from main.cpp is just “#include < QtGui/QGuiApplication >” so everything else is just coming from Qt?? Qt Creator was installed using the qtcreator mac package. And Qt was installed from source using the instructions here: http://qt-project.org/doc/qt-5/macosx-building.html Thanks for the syntax example… her is the .pro file: # This specifies the exe name TARGET=SimpleNGL # where to put the .o files OBJECTS_DIR=obj # core Qt Libs to use add more here if needed. QT+=gui opengl core   # as I want to support 4.8 and 5 this will set a flag for some of the mac stuff # mainly in the types.h file for the setMacVisual which is native in Qt5 isEqual(QT_MAJOR_VERSION, 5) {  cache()  DEFINES +=QT5BUILD } QMAKE_MACOSX_DEPLOYMENT_TARGET=10.9 # where to put moc auto generated files MOC_DIR=moc # on a mac we don't create a .app bundle file ( for ease of multiplatform use) CONFIG-=app_bundle # Auto include all .cpp files in the project src directory (can specifiy individually if required) SOURCES+= $$PWD/src/*.cpp # same for the .h files HEADERS+= $$PWD/include/*.h # and add the include dir into the search path for Qt and make INCLUDEPATH +=./include INCLUDEPATH += /opt/local/include # where our exe is going to live (root of project) DESTDIR=./ # add the glsl shader files OTHER_FILES+= shaders/*.glsl \        README.md # were are going to default to a console app CONFIG += console # note each command you add needs a ; as it will be run as a single line # first check if we are shadow building or not easiest way is to check out against current !equals(PWD, $${OUT_PWD}){  copydata.commands = echo "creating destination dirs" ;  # now make a dir  copydata.commands += mkdir -p $$OUT_PWD/shaders ;  copydata.commands += echo "copying files" ;  # then copy the files  copydata.commands += $(COPY_DIR) $$PWD/shaders/* $$OUT_PWD/shaders/ ;  # now make sure the first target is built before copy  first.depends = $(first) copydata  export(first.depends)  export(copydata.commands)  # now add it as an extra target  QMAKE_EXTRA_TARGETS += first copydata } # use this to suppress some warning from boost QMAKE_CXXFLAGS_WARN_ON += "-Wno-unused-parameter" # basic compiler flags (not all appropriate for all platforms) QMAKE_CXXFLAGS+= -msse -msse2 -msse3 macx:QMAKE_CXXFLAGS+= -arch x86_64 macx:INCLUDEPATH+=/usr/local/include/ linux-g++:QMAKE_CXXFLAGS +=  -march=native linux-g++-64:QMAKE_CXXFLAGS +=  -march=native # define the _DEBUG flag for the graphics lib DEFINES +=NGL_DEBUG   unix:LIBS += -L/usr/local/lib # add the ngl lib unix:LIBS +=  -L/$(HOME)/NGL/lib -l NGL   # now if we are under unix and not on a Mac (i.e. linux) linux-*{   linux-*:QMAKE_CXXFLAGS +=  -march=native   DEFINES += LINUX } DEPENDPATH+=include # if we are on a mac define DARWIN macx:DEFINES += DARWIN macx:LIBS += -L/opt/local/LIBS macx:LIBS += -lboost_system-mt -lboost_filesystem-mt # this is where to look for includes INCLUDEPATH += $$(HOME)/NGL/include/   win32: {         PRE_TARGETDEPS+=C:/NGL/lib/NGL.lib         INCLUDEPATH+=-I c:/boost         DEFINES+=GL42         DEFINES += WIN32         DEFINES+=_WIN32         DEFINES+=_USE_MATH_DEFINES         LIBS += -LC:/NGL/lib/ -lNGL         DEFINES+=NO_DLL } [edit: added missing coding tags @ SGaist]

Viewing all articles
Browse latest Browse all 2113

Trending Articles