Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.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 Automoc错误1-Can';编译项目_C++_Qt_Cmake_Qt5 - Fatal编程技术网

C++ CMake Automoc错误1-Can';编译项目

C++ CMake Automoc错误1-Can';编译项目,c++,qt,cmake,qt5,C++,Qt,Cmake,Qt5,我刚刚将我在Qt5中构建的一个项目移动到我的CMake项目树中。 我将项目导出到CMake目录中。但是,当我尝试构建项目时,编译器给了我以下错误: [src/GUIconceptStudy/cmakfiles/GUIconceptStudy\u automoc]错误1 另请参见随附的以下打印屏幕: 此外,CMakeLists.txt文件如下: cmake_minimum_required (VERSION 3.1) project(GUIconceptStudy) set(CMAKE_AUT

我刚刚将我在Qt5中构建的一个项目移动到我的CMake项目树中。 我将项目导出到CMake目录中。但是,当我尝试构建项目时,编译器给了我以下错误: [src/GUIconceptStudy/cmakfiles/GUIconceptStudy\u automoc]错误1

另请参见随附的以下打印屏幕:

此外,CMakeLists.txt文件如下:

cmake_minimum_required (VERSION 3.1)
project(GUIconceptStudy)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

find_package( OpenCV REQUIRED )
find_package( Boost COMPONENTS system thread filesystem REQUIRED)

#find_package (sqlite3)
find_package(Qt5 REQUIRED COMPONENTS Core Quick)

###
### make sure we use c++11
###
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

###
###boost include stuff (required for all libcam)
###
INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} )

find_package(Qt5Widgets)
find_package(Qt5PrintSupport)
#find all the qt UI stuff
file(GLOB UI
    "ui/*.ui"
)

#make them into headers
qt5_wrap_ui (UI_HDRS  ${UI})

###
### add all your non QT sources
###

# find all non ui sources
file(GLOB SRCS
    "src/*.h"
    "src/*.cpp"
    "src/*.hpp"
)

# find all ui related sources
file(GLOB UI_SRCS
    "ui/*.h"
    "ui/*.cpp"
    "ui/*.hpp"
)

###
### Add executables
###
add_executable(GUIconceptStudy main/main.cpp ui/qrc/res.qrc ${SRCS} ${UI_HDRS} ${UI_SRCS})
target_link_libraries (GUIconceptStudy  Qt5::Widgets  ${Boost_LIBRARIES} ${OpenCV_LIBS} Qt5::PrintSupport Qt5::Core Qt5::Quick)

###
### Add Library
###
add_library(GUIconceptStudy_lib SHARED ui/qrc/res.qrc ${SRCS} ${UI_HDRS} ${UI_SRCS})
target_link_libraries (GUIconceptStudy_lib Qt5::Widgets  ${Boost_LIBRARIES} ${OpenCV_LIBS} Qt5::PrintSupport Qt5::Core Qt5::Quick)

在查看了不同的在线资源后,我找不到任何特别有用的东西。任何人都可以稍微了解一下问题可能是什么?

这是在黑暗中拍摄的,但这很可能是由于缺少
集(CMAKE\u INCLUDE\u CURRENT\u DIR on)
造成的。如中所述,应设置它,因为生成的文件不在源目录中:

生成的moc*.cpp和*.moc文件放在生成目录中,因此可以方便地设置CMAKE_INCLUDE_CURRENT_DIR变量


我看到的另一个错误是混合了Qt处理管道。我在另一篇文章中已经提到了这一点。正如文档中所述,当启用此属性时,您不应使用
qt5\u wrap\u ui
函数。

是的,这可能是一个无稽之谈,但它实际上解决了我的问题Teivaz!!感谢您的评论,也感谢您分享其他帖子发布的其他文档。:)