首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在clion中运行qt creator演示代码?

如何在clion中运行qt creator演示代码?
EN

Stack Overflow用户
提问于 2019-03-14 11:46:00
回答 1查看 113关注 0票数 0

要查看代码:我在https://github.com/jaysimon/clion_qtcreator上创建了一个存储库

我成功地在qt creator中制作了一个演示ui,但在clion中使用相同的代码失败了。我得到了这个:

代码语言:javascript
复制
[ 16%] Automatic MOC and UIC for target 20190314_clion_qt
[ 16%] Built target 20190314_clion_qt_autogen
[ 33%] Linking CXX executable 20190314_clion_qt
CMakeFiles/20190314_clion_qt.dir/src/mainwindow.cpp.o: In function `MainWindow::MainWindow(QWidget*)':
/home/hw/01-workspace/20190314_clion_qt/src/mainwindow.cpp:7: undefined reference to `vtable for MainWindow'
/home/hw/01-workspace/20190314_clion_qt/src/mainwindow.cpp:7: undefined reference to `vtable for MainWindow'
CMakeFiles/20190314_clion_qt.dir/src/mainwindow.cpp.o: In function `MainWindow::~MainWindow()':
/home/hw/01-workspace/20190314_clion_qt/src/mainwindow.cpp:30: undefined reference to `vtable for MainWindow'
/home/hw/01-workspace/20190314_clion_qt/src/mainwindow.cpp:30: undefined reference to `vtable for MainWindow'
collect2: error: ld returned 1 exit status
CMakeFiles/20190314_clion_qt.dir/build.make:131: recipe for target '20190314_clion_qt' failed
make[3]: *** [20190314_clion_qt] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/20190314_clion_qt.dir/all' failed
make[2]: *** [CMakeFiles/20190314_clion_qt.dir/all] Error 2
CMakeFiles/Makefile2:84: recipe for target 'CMakeFiles/20190314_clion_qt.dir/rule' failed
make[1]: *** [CMakeFiles/20190314_clion_qt.dir/rule] Error 2
Makefile:118: recipe for target '20190314_clion_qt' failed
make: *** [20190314_clion_qt] Error 2

你能帮我用CMake成功地运行它吗?推送请求是最好的。

CMakeList.txt:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.0)
project(20190314_clion_qt)

set(CMAKE_CXX_STANDARD 11)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)

include_directories(./inc)
set(SOURCE_CODE
    src/main.cpp
    src/mainwindow.cpp
    src/deal.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_CODE})

target_link_libraries(${PROJECT_NAME} -pthread Qt5::Core)
target_link_libraries(${PROJECT_NAME} Qt5::Gui)
target_link_libraries(${PROJECT_NAME} Qt5::Widgets)

main.cpp:

代码语言:javascript
复制
#include "mainwindow.h"
#include <QApplication>
#include "deal.h"

int main(int argc, char *argv[])
{
  QApplication a(argc, argv);

  MainWindow w;
  w.show();

  pthread_t tid;
  pthread_create(&tid, NULL, run, NULL);
  //pthread_exit(&tid);

  return a.exec();
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-14 15:21:22

我解决了它,但我不明白为什么,这里是解决方案,你也可以在github上git它。

把MainWindow.cpp的MainWindow.h MainWindow.ui,所有3个文件放在同一个目录下,就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55154663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档