Qt Creator Qt Design Studio 编译QtCharts成功,但运行闪退。
用 Qt Design Studio 设计UI,使用到了QtCharts控件。在 Qt Design Studio 里能正常运行,切到Qt Creator运行时闪退。
解决方法:
看下项目的main.cpp里是不是:QGuiApplication app(argc, argv);
改成: QApplication app(argc, argv);
相应的include添加:#include <QtWidgets/QApplication>
如下图
这时候编译会报错:
:-1: error: CMakeFiles/xxx.dir/src/main.cpp.obj:main.cpp:(.text.startup+0x2bf): undefined reference to `__imp__ZN12QApplicationC1ERiPPci'
:-1: error: CMakeFiles/xxx.dir/src/main.cpp.obj:main.cpp:(.text.startup+0x56b): undefined reference to `__imp__ZN12QApplication4execEv'
:-1: error: CMakeFiles/xxx.dir/src/main.cpp.obj:main.cpp:(.text.startup+0x585): undefined reference to `__imp__ZN12QApplicationD1Ev'
:-1: error: CMakeFiles/xxx.dir/src/main.cpp.obj:main.cpp:(.text.startup+0x5c5): undefined reference to `__imp__ZN12QApplicationD1Ev'
:-1: error: collect2.exe: error: ld returned 1 exit status
:-1: error: ninja: build stopped: subcommand failed.
解决办法:
在CMakeLists.txt的
find_package()
里添加Widgets Quick3D
在 target_link_libraries()
里添加Qt6::Widgets
如下图