【三维可视化Qt+OPEN CASCADE-001】傻瓜式配置——可在Qt creator下运行github例程
前言
因为一个大项目需要,在QT界面利用occ做三维可视化的东西,所以需要配置。网上的配置攻略不是在VS下用MFC做,就是用VS+QT的插件,也有老哥用Qt Creator做,主要是下面两个:
occQt
出自occ方面的大神,eryar
多说一句,虽然是大佬,但是和蔼可亲,之前配置有问题,发邮件给大佬,大佬没多久就回复了,给大佬点赞。
Windows系统下QT+OpenCasCAD仿真开发
还有个这个老哥,目测研究的内容和我们教研室方向还挺像,有缘有缘,也是大佬。
但是,问题来了,按照上面两个老哥的攻略,我还是运行不了,让我十分苦恼。好在后来自己摸索出来了,主要问题是环境配置!!!环境配置!!!环境配置!!!
一、开发环境
1、Windows 10 64位;
2、Qt 5.14.1 MSVC2017 64bit(扛不住,归根到底大恒相机C++接口不支持MINGW,我只能投入MSVC怀抱了,不过目测OCC也不支持?)
3、OPEN CASCADE 7.4(不多说,直接上最新版)
二、安装与环境配置
1、安装Visual Studio 2017
2、安装Qt 5.14.1与自带的Qt Creator 4.11.1
3、重头戏来了,官网下载DOWNLOAD OPEN CASCADE TECHNOLOGY 7.4.0
注意:直接安装版即可,官网在配置说明里面也说了,安装版直接支持vs2017,虽然是vc14,但实际上是vc141,也就是vc++ 2017,然后里面的第三方库啥的也自带,也不用编译啥的。
下载好了直接安装即可。
我安装在:
E:\OpenCASCADE-7.4.0-vc14-64
4、配置环境变量
环境变量十分关键,环境变量配置不好,程序编译成功,但是一运行就crash,让我十分苦恼。环境变量就是在path里面加目录:
比较多,该加的都加了,估计也有不该加的,参考我的安装路径,配置如下:
E:\OpenCASCADE-7.4.0-vc14-64\ffmpeg-3.3.4-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\freeimage-3.17.0-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\freetype-2.5.5-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\bin
E:\OpenCASCADE-7.4.0-vc14-64\qt5.11.2-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\rapidjson-1.1.0\bin
E:\OpenCASCADE-7.4.0-vc14-64\tbb_2017.0.100\bin\intel64\vc14
E:\OpenCASCADE-7.4.0-vc14-64\tbb_2017.0.100\bin\intel64\vc14_ui
E:\OpenCASCADE-7.4.0-vc14-64\tcltk-86-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\vtk-6.1.0-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\lib
E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\inc
5、去github下载eryar大佬的例程,网址就是上面提到的网址。大佬的例程下载下来,按照大佬的readme文件,把pro文件里面的CASROOT改成自己的安装路径后运行还是不行,会提示找不到头文件:
等于还是路径问题,然后我发现,大佬引用CASROOT的时候,加了括号:
INCLUDEPATH += \
$$(CASROOT)/inc
把括号去掉,就ok了,然后把pro文件里面所有CASROOT前后的括号全部去掉,搞定!
修改后的pro文件如下:
#-------------------------------------------------
#
# Project created by QtCreator 2013-08-18T15:52:09
#
#-------------------------------------------------
QT += core gui opengl
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = occQt
TEMPLATE = app
SOURCES += main.cpp \
occQt.cpp \
occView.cpp
CONFIG += c++11
HEADERS += \
occQt.h \
occView.h
FORMS += \
occQt.ui
RESOURCES += \
occqt.qrc
CASROOT = E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\
win32 {
DEFINES += \
WNT
INCLUDEPATH += \
$$CASROOT/inc
win32-msvc2010 {
compiler=vc10
}
win32-msvc2012 {
compiler=vc11
}
win32-msvc2013 {
compiler=vc12
}
win32-msvc2015 {
compiler=vc14
}
win32-msvc {
compiler=vc14
}
# Determine 32 / 64 bit and debug / release build
!contains(QMAKE_TARGET.arch, x86_64) {
CONFIG(debug, debug|release) {
message("Debug 32 build")
LIBS += -L$$CASROOT/win32/$$compiler/lib
}
else {
message("Release 32 build")
LIBS += -L$$CASROOT/win32/$$compiler/lib
}
}
else {
CONFIG(debug, debug|release) {
message("Debug 64 build")
LIBS += -L$$CASROOT/win64/$$compiler/lib
#message("$$CASROOT/win64/$$compiler/lib")
}
else {
message("Release 64 build")
LIBS += -L$$CASROOT/win64/$$compiler/lib
}
}
}
linux-g++ {
INCLUDEPATH += \
/usr/local/include/opencascade
LIBS += \
-L/usr/local/lib/
}
LIBS += \
-lTKernel \
-lTKMath \
-lTKG3d \
-lTKBRep \
-lTKGeomBase\
-lTKGeomAlgo\
-lTKTopAlgo \
-lTKPrim \
-lTKBO \
-lTKBool \
-lTKOffset \
-lTKService \
-lTKV3d \
-lTKOpenGl \
-lTKFillet
三、运行
终于成功了,泪奔!
虽然整个从下载OCC到配置的过程只有一两天,但是不停报错、崩溃真的好痛苦啊,再次感谢在网上发布教程的各位大佬,包括但不限于:
OPEN CASCADE
Windows系统下qt开发融合pylon,opencv,opencascade 等库的工程
Opencascade的安装
Windows系统下QT+OpenCasCAD仿真开发
Qt程序异常结束
Opencascad 7.0编译问题
eryar/occQt
最后即兴赋诗一首:
天若有情天亦老,人间正道是沧桑。
欢迎有相关配置问题的老哥评论,我们一同讨论。
上一篇: gif动画图制作
下一篇: 第一个Docker容器