4

我正在尝试使用 cmake 编译我的 Qt 程序,但是在编译qzip.cpp时出现错误:

qzip.cpp:57:27:错误致命:qplatformdefs.h:没有这样的文件或目录

我在CMakeLists.txt中添加了这些行,但它不起作用:

如果(QT_LIBRARY_DIR 而不是 QT_MKSPECS_DIR 或 QT_QMAKE_CHANGED)

执行程序(${QT_QMAKE_EXECUTABLE}

ARGS "-query QMAKE_MKSPECS"

OUTPUT_VARIABLE qt_mkspecs_dirs )

# 不要替换:在 Windows 上,因为它可能是驱动器号

# 并且 windows 应该已经使用 ; 作为分隔符

中频(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 32bits

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 回答