【问题标题】:Qt4 won't compile with CMakeQt4 不能用 CMake 编译
【发布时间】:2013-02-25 04:17:18
【问题描述】:

我现在在 Linux 下使用 KDevelop for C++,我想编译一个 Qt4 应用程序,但是当我这样做时,它给了我以下错误:

我编译:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Debug /home/myname/projects/First Qt projet/

这些是错误:

-- Configuring incomplete, errors occurred!
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):
  Could NOT find Qt4 (missing: QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE
  QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR
  QT_QTCORE_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:288 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindQt4.cmake:1200 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:3 (find_package)

我该怎么办?

【问题讨论】:

  • 找不到您的 qt4 安装。它通常在 /usr/lib/qt4.*
  • 如何安装?
  • 你使用的是什么操作系统?
  • Linux ubuntu 12.10 64 位

标签: c++ ubuntu qt4 cmake


【解决方案1】:
sudo apt-get install libqt4-core libqt4-dev libqt4-gui qt4-dev-tools

这应该为您安装 qt4:/usr/lib64/qt... 从那里 cmake 应该能够为您获取 qt 的位置。

如果命令行不是你的风格,你也可以使用 Ubuntu 包管理器。

【讨论】:

  • (丢失软件更新的幽灵):不要 uuuuusssseee thhheeee paaaaccckaaage maaannnager GModCake... Youuuuu'll ruuun deepppreeecatttedd cooodddeee...
  • @Freestyle076 - 你是否建议不要使用 apt-get?另外,这个答案是 3 年前的,所以过时并不奇怪?
【解决方案2】:

不确定这是否会帮助任何人,但对于 Fedora,我遇到了以下问题:

/usr/share/cmake/Modules/FindQt4.cmake:1386 处的 CMake 错误(消息): 从 NOTFOUND 发现不合适的 Qt 版本“”,此代码需要 Qt 4.x 调用堆栈(最近的调用优先): bgrive/CMakeLists.txt:3 (find_package)

通过 FindQt4.cmake 我发现了这个:

if (NOT QT_VERSION_MAJOR EQUAL 4)
    set(VERSION_MSG "Found unsuitable Qt version \"${QTVERSION}\" from ${QT_QMAKE_EXECUTABLE}")
    set(QT4_FOUND FALSE)
    if(Qt4_FIND_REQUIRED)
       message( FATAL_ERROR "${VERSION_MSG}, this code requires Qt 4.x")
    else()
      if(NOT Qt4_FIND_QUIETLY)
         message( STATUS    "${VERSION_MSG}")
      endif()
    endif()
else()
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt4 FOUND_VAR Qt4_FOUND
    REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS}
    VERSION_VAR QTVERSION
    )
endif()

我知道我有 qt 4 我通过简单地解决了这个问题:

sudo yum install qt-devel

【讨论】:

    猜你喜欢
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 2015-06-27
    相关资源
    最近更新 更多