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 4项目时出错_C++_Qt_Qt4_Cmake_Qtgui - Fatal编程技术网

C++ 使用cmake构建Qt 4项目时出错

C++ 使用cmake构建Qt 4项目时出错,c++,qt,qt4,cmake,qtgui,C++,Qt,Qt4,Cmake,Qtgui,我已经创建了一个简单的Qt4项目,现在,我想使用CMake作为构建系统。我的项目文件如下: ├── about.cpp ├── about.h ├── about.ui ├── alldeb_en.ts ├── alldeb_id.ts ├── AllDebInstaller.pro ├── CMakeLists.txt ├── dialog.cpp ├── dialog.h ├── dialog.ui └── main.cpp 我的CMakeLists.txt文件是: cmake_minim

我已经创建了一个简单的Qt4项目,现在,我想使用CMake作为构建系统。我的项目文件如下:

├── about.cpp
├── about.h
├── about.ui
├── alldeb_en.ts
├── alldeb_id.ts
├── AllDebInstaller.pro
├── CMakeLists.txt
├── dialog.cpp
├── dialog.h
├── dialog.ui
└── main.cpp
我的CMakeLists.txt文件是:

cmake_minimum_required(VERSION 2.8.9)
PROJECT(alldeb-installer)

set(CMAKE_AUTOMOC ON)

FIND_PACKAGE(Qt4 REQUIRED)
INCLUDE(${QT_USE_FILE})

QT4_WRAP_UI(UISrcs dialog.ui about.ui)
#QT4_WRAP_CPP(MOCSrcs dialog.h about.h)

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

ADD_EXECUTABLE(alldeb-installer main.cpp dialog.cpp about.cpp ${MOCSrcs} ${UISrcs})
TARGET_LINK_LIBRARIES(alldeb-installer ${QT_LIBRARIES})

ADD_LIBRARY(terjemah ${sources}
${UISrcs})

qt4_create_translation(qm_files
${terjemah_SRCS} alldeb_en.ts alldeb_id.ts
)

install(TARGETS alldeb-installer DESTINATION bin)
但还是有点混乱。我不知道.cpp有什么问题。
“错误:程序中的错误”\nnn“出现多次。
以下是截图:

图片:

请有人解释一下。谢谢

编辑
哦,令人惊讶和尴尬的是,我发现about.cpp包含许多未知字符。
以下是截图:

图片:

这一定是因为之前的CMakeLists.txt配置错误

但实际上about.cpp只包含:

#include "about.h"
#include "ui_about.h"

About::About(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::About)
{
    ui->setupUi(this);
}

About::~About()
{
    delete ui;
}

这不是cmake问题,而是您的
about.cpp
文件损坏。出于这样或那样的原因,它有一些离群的角色。解决方案是“不损坏它”,然后它将使用相同的cmake文件。

它可能与粘贴的cmake文件无关,但与您的代码无关。检查它是否由于某种原因而有一些游离字符。您可以尝试将about.cpp粘贴到这里。以前,我在谷歌上搜索过它,但我确信about.cpp没有包含错误的字符。但在我检查过之后,你是对的,它有一些离群的字符。顺便说一下,实际上我想听听你对我的医生的意见。这样可以吗?很好。我个人会对源文件使用一个变量,但这不是一个大问题。是的,先生,你是对的。我已将.cpp更改为原来的。它成功地建造了。谢谢