qt - 如何在 clion 中运行 qt creator 演示代码?
问题描述
要查看代码:我在https://github.com/jaysimon/clion_qtcreator上创建了一个存储库
我成功地在 qt creator 中制作了一个演示 ui,但在 clion 中使用相同的代码失败了。我懂了:
[ 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:
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)
主.cpp:
#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();
}
解决方案
推荐阅读
- php - Google Places Nearby API Success 200,但在 Laravel 中返回“INVALID_REQUEST”
- python - 如何使用 tf.keras 获取每个 train_step 的详细运行时间?
- ansible - jmespath。根据类型更改数组中的一个元素
- javascript - 使用关键帧动画中的道具的样式化组件
- tensorboard - Tensorboard Graph:Profiler 会话已启动
- javascript - 将鼠标悬停在图像上时使用图像上的图像区域显示产品的详细信息
- internet-explorer - 当 SVG 前面有一个不以像素为单位大小的元素时,IE 和 Edge 中的路径边缘模糊
- mysql - 错误:连接丢失:服务器关闭连接节点js mysql
- python - 在python中正确旋转或翻转图像[发票,表格]到正确的方向
- c++ - 使用按 z 轴排序的 2D 水平多边形实现 3D 模型