Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ cmake未找到qt 5.1.1_C++_Qt_Cmake_Qt5_Qtwidgets - Fatal编程技术网

C++ cmake未找到qt 5.1.1

C++ cmake未找到qt 5.1.1,c++,qt,cmake,qt5,qtwidgets,C++,Qt,Cmake,Qt5,Qtwidgets,我刚刚安装了Qt5.1.1forWindows32位(MingW4.8,OpenGL),并试图将其添加到我的cmake中。但是CMake只是不想找到它,我不知道为什么。我错过了什么?我需要设置环境变量还是什么 这是我的名片: cmake_minimum_required( VERSION 2.8.11 ) PROJECT(Blemmer) # Find includes in corresponding build directories set(CMAKE_INCLUDE_CURRENT_DI

我刚刚安装了Qt5.1.1forWindows32位(MingW4.8,OpenGL),并试图将其添加到我的cmake中。但是CMake只是不想找到它,我不知道为什么。我错过了什么?我需要设置环境变量还是什么

这是我的名片:

cmake_minimum_required( VERSION 2.8.11 )
PROJECT(Blemmer)
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)
# Detect and add SFML
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules" ${CMAKE_MODULE_PATH})

set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
find_package(SFML REQUIRED system window graphics network audio)
# The QUIET option disables messages if the package cannot be found. 
FIND_PACKAGE(Qt5Widgets) 
add_subdirectory(Entity)
add_subdirectory(Engine)
add_subdirectory(Game)
add_executable(Blemmer main.cpp)

include_directories(${SFML_INCLUDE_DIR} ${PROJECT_SOURCE_DIR})
target_link_libraries(Blemmer ${SFML_LIBRARIES} Game Engine Qt5::Widgets)
这是cmake gui的输出:

CMake Warning at CMakeLists.txt:14 (FIND_PACKAGE):
  By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5Widgets", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5Widgets" with
  any of the following names:

    Qt5WidgetsConfig.cmake
    qt5widgets-config.cmake

  Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
  "Qt5Widgets_DIR" to a directory containing one of the above files.  If
  "Qt5Widgets" provides a separate development package or SDK, be sure it has
  been installed.

您需要将CMAKE_前缀_路径设置为Qt安装


请参见

我通过导出Linux环境变量成功地在MacOSX 10.10上构建了GUI

$ brew install qt5
$ ls /usr/local/opt/qt5/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake
$ /usr/local/opt/qt5/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake
$ export CMAKE_PREFIX_PATH=/usr/local/opt/qt5/
$ cd ./build
$ cmake ../CMakeLists.txt
$ make -j8

到达时,cmake函数FIND_LIBRARY()将
向每个目录添加/lib
。完成。

CMakeLists.txt
文件中使用以下内容修复了它:

set(CMAKE_PREFIX_PATH $ENV{HOME}/Qt5.5.0/5.5/gcc_64)
对我来说,环境最终是这样的:

# Ubuntu 14.04 LTS, CMake 2.8.12.2
wget http://download.qt.io/official_releases/qt/5.5/5.5.0/qt-opensource-linux-x64-5.5.0.run
chmod u+x qt-opensource-linux-x64-5.5.0.run
./qt-opensource-linux-x64-5.5.0.run
# Follow GUI prompts, installed to default location

您是否尝试了输出“将“Qt5Widgets”的安装前缀添加到CMAKE_prefix_PATH或将“Qt5Widgets_DIR”设置到包含上述文件之一的目录中的步骤。如果“Qt5Widgets”提供了单独的开发包或SDK,请确保它已安装。”“您需要使用这一行qt5_使用_模块。”(blemmerwidgets),并从那里删除“Qt5::Widgets”内容”Steveire,我现在正在度假。请随时提出修改建议来改进答案,否则我回来后会看一看。谢谢你的反馈。lpapp,我试过了,但我的编辑被拒绝。Peter Krauss显然做了一次编辑,但没有修复关键错误。所以,lpapp,请在你可以的时候自己修复。我知道了我重新提交了我的编辑。我的编辑再次被拒绝,因为它修复了关键错误。值得注意的是,错误的答案被接受,而关键错误被接受。我认为整理好的答案是正确的,而不是坏的答案。这个答案被标记为正确的,但绝对不是。@steveire,很不幸,审稿人拒绝了我t、 不幸的是,SO并不完美,但我感谢你愿意做出建设性的贡献。我更新了帖子,谢谢。让我知道是否还有其他可以改进的地方。对于在OSX上构建的其他人,我必须添加
export WITH_QT=1
以启用QT。请注意:这是误导性的。
CMAKE_PREFIX_PATH
可以设置为s环境变量,无需进一步修改CMakeLists.txt。请参阅接受的答案。谢谢@kfunk您的回答是正确的,您也可以使用环境变量,接受的答案实际上没有明确说明
CMAKE\u PREFIX\u PATH
此时可以是环境变量,而无需查阅文档离子链接和搜索它。