1

プロジェクトを Qt4 から Qt5 に変換しようとしました。今までstackoverflow検索とGoogleが助けてくれましたが、今は行き詰まっています。

cmake ファイルを書き直して、新しい Qt ヘッダーへのすべてのインクルードを配置しました。また、ライブラリを正しく追加する必要があります。私のEclipseプロジェクトでは、すべてのヘッダーが見つかりましたが、一部のオブジェクトではEclipseの下線が赤で次のコメントが付いています:

シンボルXXXを解決できませんでした

XXXたとえば、次のとおりです。

QMainWindow  
QWidget  
QGroupBox

などの他のオブジェクトQPushButtonQLineEditは下線が引かれていません。

正直なところ、Qt4 から Qt5 への切り替えに関しては、Win/VS10 から Linux/Eclipse に切り替えました。

誰でも私にヒントを与えることができますか?

本当に感謝します。ありがとう

編集:cmakeにQtを追加する方法:

  find_package(Qt5Widgets)
  if (Qt5Widgets_FOUND)
  message(STATUS "Qt5Widgets found.")
  else (Qt5Widgets_FOUND)
  message(STATUS "Qt5Widgets not found!")
  endif (Qt5Widgets_FOUND)

  find_package(Qt5OpenGL)
  if (Qt5OpenGL_FOUND)
  message(STATUS "QtOpenGl found.")
  else (Qt5OpenGL_FOUND)
  message(STATUS "QtOpenGL not found!")
  endif (Qt5OpenGL_FOUND)

...

include_directories( ${Qt5Widgets_INCLUDES}  ${Qt5OpenGL_INCLUDES})
add_executable(exp_test_qtTemplate ${files} )
target_link_libraries( exp_test_qtTemplate   ${OPENGL_LIBRARIES} ${Boost_LIBRARIES} ${Qt5Widgets_LIBRARIES}  ${Qt5OpenGL_LIBRARIES})

そして、これはqtで生成されたmocファイルでは奇妙なことです

#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'GlViewer.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.0.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif

Qtのインストールに失敗したようです。

4

0 に答える 0