“解决”OpenCASCADE图形设备初始化问题

有时候初始化OpenCASCADE的显示模块会失败,例如运行AnyCAD的时候说初始化失败。

原因是因为本机装OpenCASCADE开发包时,在系统中加入若干的系统环境变量,如下:

其中有一条为:

set CSF_GraphicShr=%CASROOT%/win32/bin/TKOpenGl.dll

而OpenCASCADE的显示模块会根据环境变量动态加载TKOpenGL.dll。如果系统环境变量中没有CSF_GraphicShr,就会在当前目录下面找。

也就是说,你发布的软件有可能调用用户本机安装的TKOpenGL.dll。而这个dll有可能跟你的OCC不是同一个版本,从而可能引起初始化失败。

解决办法:

(1)修改用户的CSF_GraphicShr环境变量

可以让用户该,也可以在程序中实现

(2)一劳永逸的办法

自己修改调用TKOpenGL.dll的OCC模块,不让她依赖环境变量。

原文地址:https://www.cnblogs.com/aiwz/p/6333126.html