简体   繁体   English

Qt4不会用CMake编译

[英]Qt4 won't compile with CMake

I'm now under Linux with KDevelop for C++ and I want to compile a Qt4 application, but when I do, it gives me the following error : 我现在使用KDevelop for C ++在Linux下,我想编译一个Qt4应用程序,但是当我这样做时,它会给我以下错误:

I compile with: 我编译:

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

Those are the errors: 这些是错误:

-- 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)

What should I do ? 我该怎么办 ?

sudo apt-get install libqt4-core libqt4-dev libqt4-gui qt4-dev-tools

This should install qt4 for you in: /usr/lib64/qt... from there cmake should be able to pick up the location of qt for you. 这应该为你安装qt4:/ usr / lib64 / qt ...从那里cmake应该能够为你拿起qt的位置。

You can also use that Ubuntu package manager thingy if command line isn't your style. 如果命令行不是你的风格,你也可以使用那个Ubuntu包管理器。

Not sure if this will help anyone, but for Fedora, i had the following issue: 不确定这是否会对任何人有所帮助,但对于Fedora,我有以下问题:

CMake Error at /usr/share/cmake/Modules/FindQt4.cmake:1386 (message): Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x Call Stack (most recent call first): bgrive/CMakeLists.txt:3 (find_package) /usr/share/cmake/Modules/FindQt4.cmake:1386中的CMake错误(消息):从NOTFOUND发现不合适的Qt版本“”,此代码需要Qt 4.x调用堆栈(最近一次调用):bgrive / CMakeLists。 txt:3(find_package)

After stepping through FindQt4.cmake i found this: 在通过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()

I know i have qt 4I solved this by simply doing: 我知道我有qt 4I通过简单地解决了这个问题:

sudo yum install qt-devel

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM