2017-09-06 14 views
0

openSUSEでプロジェクトをコンパイルしようとしましたが、CMAKEを使ってmakefileを生成しました。openSUSEでQtProjectをコンパイルしているときにエラーが発生しました

今、このエラーが発生しました。誰か助けてくれますか?

[ 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さん、エラーを起こしているコードを表示してください。それは、あなたが関数を呼び出すことはできないようです – RGarcia

答えて

0

あなたはこれらの関数を呼び出しています:* qVersion(); qTerminate(); qt_error_string();など。

関数の内部で宣言されなければならない、「(」)の前(期待コンストラクタ、デストラクタ、または型変換あなたは正しい場所にそれらを呼び出していないようだ。

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

私は1つcolluegeはコンパイラフラグに-DWIN64を追加したことを、CMakeLists.txtに掘っと考え出した。

Qtが知っている、それはWindowsでコンパイルされていることを考えると、「Q_OS_WINは」

を定義addesされます今Q_CORE_EXPORTが__declspecマクロを探しています...

関連する問題