VS + QT 开发配置问题
记录遇到的问题及解决方案。
1.VS2019打开QT的Ui文件后闪退 解决方法: (1)找到解决方案中的ui文件右键选择打开方式 (2)添加QT所在目录的Qt designer ,位置为msvc2017_64/bin/designer.exe 若之前配置后任然闪退,确认之前的QT路径是否变动过 2.添加.h和.cpp后重新编译后报未解析的命令 解决方法:删除build目录,全部重新生成 3. 使用camake 加载QT的第三方库 例子:添加QXlsx 库 CMakeLists.txt配置如下
#打开全局moc,设置自动生成moc文件,一定要设置
set(CMAKE_AUTOMOC ON)
#打开全局uic,非必须
set(CMAKE_AUTOUIC ON)
#打开全局rcc,非必须,如需打开,注意修改33行的qrc文件名
#set(CMAKE_AUTORCC ON)
add_definitions ( -D_MBCS )
#查找需要的Qt库文件,最好每一个库都要写,Qt也会根据依赖关系自动添加
find_package(Qt5Widgets)
find_package(Qt5Core)
find_package(Qt5Gui)
FILE(GLOB SRC_FILES "./src/*.cpp")
#查找设置当前文件夹中所有的头文件
FILE(GLOB HEAD_FILES "./include/*.h")
FILE(GLOB QXlSXHEAD_FILES "./xlsx/*.h")
FILE(GLOB QXlSXSRC_FILES "./xlsx/*.cpp")
#查找设置当前文件夹中所有的ui文件
FILE(GLOB UI_FILES "./include/*.ui")
qt5_wrap_cpp(mocfiles ${QXlSXHEAD_FILES})
source_group("moc" FILES ${mocfiles})
#通过Ui文件生成对应的头文件,一定要添加
qt5_wrap_ui(WRAP_FILES ${UI_FILES})
#添加资源文件,非必须,一旦采用,注意修改相应的qrc文件名
#set(RCC_FILES rcc.qrc)
#将ui文件和生成文件整理在一个文件夹中,非必须
source_group("Ui" FILES ${UI_FILES} ${WRAP_FILES} )
#创建工程文件
add_executable(${PROJECT_NAME} WIN32 ${SRC_FILES} ${HEAD_FILES} ${WRAP_FILES} ${mocfiles} ${QXlSXHEAD_FILES} ${QXlSXSRC_FILES})
#添加Qt5依赖项
target_link_libraries(${PROJECT_NAME}
Qt5::Widgets
Qt5::Core
Qt5::Gui
)
编译后会报错需要检测路径是否为中文。 执行后会报error C2491: staticMetaObject”: 不允许 dllimport 静态数据成员 的定义 需要找到xlsxglobal.h文件 移除 Q_DECL_IMPORT即可
执行后会报无法找到private/qzipreader_p.h 这是由于使用的Gui-Private库的qzipreader类导致的,可以手动去除掉即可
VS扩展
Indent Guides 添加辅助虚线 CodeMaid 代码清洁 Colorful-IDE 软件背景修改 Productivity Power Tools 微软扩展 Qt Visual Studio Tools VS-Qt插件 Image Watch OpenCV可视化界面插件 C++ Debugger Visualizers for VS2019 C++调试插件
|