OpenCASCADE(二)在QT下配置及问题记录

这里需要先去OpenCASCADE官网下载,我这里下载的是源码,用VS2017编译成静态库后,再进行QT配置

这里配置主要修改pro文件,跟CMake类似,所以我把pro文件贴出来,相互学习。

一、编译环境

  1. Windows 10 64位;
  2. Qt 5.14.2 MSVC2017 64bit
  3. OPEN CASCADE 7.5

二、环境变量

首先按照其他博客,需要配置环境变量

选择编译好的项目文件,其中“libd”为debug版本,由于我当时测试时,未编译release版本。

新建环境变量 CASROOT

 

三、pro文件

导入QT,需要修改pro文件,进行链接

注:$$(CASROOT),加了小括号表示系统环境变量,$$compiler表示自己定义的变量

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mymainwindow.cpp \
    mywidget.cpp

HEADERS += \
    mymainwindow.h \
    mywidget.h

FORMS += \
    mymainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

#add by chen270--------------------------------------------------
win32
{
    #包含路径,导入头文件
    INCLUDEPATH += $$(CASROOT)/inc

    #确定编译器
    #注:这里我试了MSVC2015,2017都不行,所以采用msvc
    win32-msvc {
        compiler=vc14
    }
    
    message("(CASROOT) = $$(CASROOT)")
    message("compiler = $$compiler")

    CONFIG(debug, debug|release) {  #x86 debug
         LIBS += -L$$(CASROOT)/win64/$$compiler/libd
     }
     else {  #x86 release
         #注:我只编译了debug版本,如果没有编译release,需要把两个libs路径都改为libd
         LIBS += -L$$(CASROOT)/win64/$$compiler/lib
     }
}

LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
        -lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
        -lTKSTEPBase -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
        -lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
        -lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset \
#add end by chen270---------------------------------------------

 

“TKernel.lib”错误

这里得确保libs路径正确,否则会出现无法打开文件“TKernel.lib”错误

若qt没有打印出这两句话,说明路径存在问题,可能是编译器的选择,没有选择MSVC,以及系统环境变量没有生效,可能需要重启电脑

成功,便已经把OpenCASCADE库和头文件导入了

 

 

程序异常结束

程序异常结束。

The process was ended forcefully.

F:\QT\2021OpenCASCAD\build-0112Test-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\debug\0112Test.exe crashed.

遇到上述错误是因为path环境变量中没有加入动态库链接

这里需要添加自己编译的和三方库依赖的

配完环境变量需要重启QT(必须重启),然后防止变量没有更新,需要多运行几次程序 ctrl +R 即可

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值