Open Cascade 依赖 Active TCL 和 FTGL, 而 FTGL 又依赖于 FreeType2。如果出现图像服务无法初始化的错误,注意检查是否将所有的 DLL 文件放在了应用程序目录下。
问题的原因是编译 OCC6.5.1 时依赖了一个 Debug 版本的库
ftgl_dynamic_MTD_d.lib,这导致了它运行时调用的动态链接库 ftgl_dynamic_MTD_d.
dll,这个动态链接库也是 Debug 版本的,它会要求动态链接那四个 Debug 版本的 VC
库,而 Debug 版本的 VC 库是不会被打进安装包的,除非你手动将这四个文件打进
去。
我重新编译了一个 Release 版本的 ftgl_dynamic_MTD.lib & dll,替换掉了原来的
ftgl_dynamic_MTD_d.lib & dll,然后用它重新编译了 TKOpenGL.lib & dll,然后用
这个新编译好的TKOpenGL.lib & dll 去编译 OCD2,看来不再依赖那四个 Debug 版本
的 VC 库了。