2017-09-06 5 views
0

Ich habe versucht, mein Projekt unter openSUSE mit einem CMAKE zu kompilieren, um das Makefile zu generieren.Fehler beim Kompilieren von QtProject unter openSUSE

Jetzt habe ich diesen Fehler. Kann mir hier jemand helfen?

[ 18%] Building CXX object VSProjects/PROJECT/CMakeFiles/PROJECT.dir/src/Activity/ActivityFactory.cpp.o 
In file included from /home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:97:0, 
       from /home/martin/Qt/5.8/gcc_64/include/QtCore/qchar.h:43, 
       from /home/martin/Qt/5.8/gcc_64/include/QtCore/qstring.h:48, 
       from /home/martin/Qt/5.8/gcc_64/include/QtCore/QString:1, 
       from /home/martin/VSProjects/PROJECT/src/Activity/ActivityFactory.cpp:51: 
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:357:1: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_CORE_EXPORT const char *qVersion() Q_DECL_NOTHROW; 
^ 
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:649:12: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_NORETURN Q_CORE_EXPORT void qTerminate() Q_DECL_NOTHROW; 
      ^
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:657:1: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_CORE_EXPORT bool qSharedBuild() Q_DECL_NOTHROW; 
^ 
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:697:1: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_CORE_EXPORT QString qt_error_string(int errorCode = -1); 
^ 
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:702:1: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_CORE_EXPORT void qt_assert(const char *assertion, const char *file, int line) Q_DECL_NOTHROW; 
^ 
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:719:1: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_CORE_EXPORT void qt_assert_x(const char *where, const char *what, const char *file, int line) Q_DECL_NOTHROW; 
^ 
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:750:1: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_CORE_EXPORT void qt_check_pointer(const char *, int); 
^ 
/home/martin/Qt/5.8/gcc_64/include/QtCore/qglobal.h:751:1: error: expected constructor, destructor, or type conversion before ‘(’ token 
Q_CORE_EXPORT void qBadAlloc(); 
+1

Martin, bitte können Sie den Code zeigen, der den Fehler gibt? Es scheint, dass Sie Funktionen aufrufen, wo Sie nicht können – RGarcia

Antwort

0

Sie rufen diese Funktionen auf: * qVersion(); qTerminieren(); qt_error_string(); etc ..

Es scheint, Sie sind sie an der richtigen Stelle (erwartet Konstruktor, Destruktor oder Typumwandlung nicht vor dem Aufruf ‚(‘) muss innerhalb einer Funktion werden erklären:

bool someclass() 
{ 
qSharedBuild(); --bool type 
return false; 
} 
0

ich grub in die CMakeLists.txt und herausgefunden, dass ein colluege -DWIN64 an den Compiler-Flag hinzugefügt.

Qt ist wissen denken, dass es unter Windows kompiliert und addes die „Q_OS_WIN“ definieren

Jetzt sucht das Q_CORE_EXPORT nach dem __declspec Makro ...

Verwandte Themen