4

Qt プログラムを cmake でコンパイルしようとしていますが、 qzip.cpp をコンパイルするときにエラーが発生しました:

qzip.cpp:57:27: 致命的なエラー: qplatformdefs.h: そのようなファイルまたはディレクトリはありません

これらの行をCMakeLists.txtに追加しましたが、機能しませんでした:

IF (QT_LIBRARY_DIR で QT_MKSPECS_DIR または QT_QMAKE_CHANGED ではない)

EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}

ARGS "-query QMAKE_MKSPECS"

OUTPUT_VARIABLE qt_mkspecs_dirs )

# : は置き換えないでください (Windows ではドライブ文字の可能性があるため)

# および Windows は既に ; を使用している必要があります。区切りとして

IF(UNIX)

STRING(REPLACE ":" ";" qt_mkspecs_dirs "${qt_mkspecs_dirs}")

ENDIF(UNIX)

SET(QT_MKSPECS_DIR NOTFOUND)

FIND_PATH(QT_MKSPECS_DIR qconfig.pri PATHS ${qt_mkspecs_dirs}

DOC "The location of the Qt mkspecs containing qconfig.pri"

 NO_DEFAULT_PATH )

ENDIF (QT_LIBRARY_DIR であり、QT_MKSPECS_DIR または QT_QMAKE_CHANGED ではない)

SET( QT_INCLUDES ${QT_QT_INCLUDE_DIR} ${QT_MKSPECS_DIR}/デフォルト ${QT_INCLUDE_DIR} )

では、 CMakeLists.cppに qplatformdefs.hへのリンクを追加するにはどうすればよいですか?

どうもありがとう。

PS:私は Ubuntu 12.04 32 ビットを使用しています。

4

2 に答える 2

2

これを CMakeLists.txt に追加してみてください:

include_directories(${QT_MKSPECS_DIR}/default)

于 2014-01-13T08:12:45.147 に答える
1

あなたはすでに答えを見つけているかもしれませんが、あなたがそれを見つけていない場合は、ここにあります:

私の Fedora では、このファイルは/usr/lib64/qt4/mkspecs/linux-g++-64にあります。Ubuntu の同じ場所であると仮定すると、このディレクトリを include_directories(); に追加する必要があります。

include_directories( lots_of_dirs "/usr/lib64/qt4/mkspecs/linux-g++-64/")

お役に立てば幸いです。

于 2012-10-24T11:55:11.303 に答える