occt-wasm配置——emsdk配置web版opencascade
1、安装git
2、安装Emscripten SDK
1)下载:git clone https://github.com/emscripten-core/emsdk.git或者github上直接下载
2)在emsdk目录下,输入cmd命令:
emsdk install 2.0.29
emsdk activate 2.0.29
emsdk_env.bat
3)验证是否成功:emcc –check
3、安装MinGW
方法1:
下载安装Dev-C++工具,该工具里面直接附带了mingw,安装后将BIN文件夹增加到系统path。
方法2:
下载https://osdn.net/projects/mingw/
安装参考http://c.biancheng.net/view/8077.html
4、安装CMake
5、Emsdk编译FreeType
1)下载freetype源码
freetype官网:https://freetype.org/
下载地址:https://download.savannah.gnu.org/releases/freetype/freetype-old/
2)解压缩源码并配置编译
a.在源码文件夹建立一个build文件夹
b.命令行中激活emsdk
c.切换的build文件夹,并执行cmake进行配置emcmake cmake ..
d.进行编译emmake make
f.编译成功后进行install:emmake make install
安装目录如下图所示,该目录的内容在后续使用是可以直接找到:
6、编译OCC
1)使用Cmake界面进行,设置工具链
2)修改下图两处内容,可忽略config中的警告
注意,此时freetype的设置中已经可以自动找到刚才的安装路径了
3)然后开始编译,如下emmake make
4)编译成功后进行install:emmake make install
4) 完成后,同样的,头文件和静态库等内容已经被安装到emsdk的默认目录下。
7、 编译WebGL Sample
1)使用cmake配置项目
通过下面命令启动cmake-gui,cmake的bin文件夹需要在path环境变量中
emcmake cmake-gui
2) 进行config
注意,在config的时候会出现如下错误,此时需要通过设置
“freetype_DIR”的路径来让cmake能够找到“freetype-config.cmake”文件,这样cmake就可以自动找到freetype模块了。
3)修改webgl sample源码中的CMakeLists.txt文件
目的是解决CMakeLists.txt文件中find_package()函数找不到freetype模块的问题。
find_package — CMake 3.22.2 Documentation
主要是使用set直接给出freetype的install根目录,再去除NO_DEFAULT_PATH参数,通过这样的修改后,再进行config,我们可以看到虽然有警告(find_package函数依然提示没有找到freetype库,但是实际上通过直接设置路径cmake已经可以找到了),但是FREETYPE的库环境找到了
此时针对OpenCASCADE又出现了类似freetype的错误
3) 指定OpenCASCADE_DIR
由于opencascade编译的时候存在OpenCASCADEConfig.cmake文件,因此只要指定相应的路径就可以了,如图,再进行config,就没有错误了
5)生成并编译
点击生成,并进行编译,如图所示
完成后,在下面的目录中就出现了编译后的结果