使用 emcc 将 C++ 代码编译为 WASM 的问题
Problem in compilation of C++ code to WASM using emcc
我正在尝试将 C++ 代码编译为 WASM,但遇到了问题。我的 C++ 代码包括 dlib 和 OpenCV 库。我已经为 C++ 环境成功编译了 OpenCV 和 dlib。另外,我已经在我的系统中安装了 emscripten。
目录结构为
C盘
|..
|-- dlib
|-- emsdk
|-- opencv
|-- cpp_project
现在,当我在命令提示符下的 cpp_project 目录中(以管理员模式打开)时,我正在执行以下命令。
emcc -msse3 -msimd128 -std=c++11 -O3 -I ../dlib ../opencv/build/include/opencv2/core.hpp ../dlib/dlib/all/source.cpp -lstdc++ -lpthread -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE=4 -s TOTAL_MEMORY=1024MB -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ccall', 'cwrap' ]" -s WASM=1 -o main.js
我收到以下错误:
../opencv/build/include/opencv2/core.hpp:52:10: 致命错误: 'opencv2/core/cvdef.h' 找不到文件
#include "opencv2/core/cvdef.h"
^~~~~~~~~~~~~~~~~~~~~~
产生 1 个错误。
请帮助我。
您必须将 -I ../dlib ../opencv/build/include/opencv2/core.hpp
更改为
-I ../dlib -I ../opencv/build/include
我正在尝试将 C++ 代码编译为 WASM,但遇到了问题。我的 C++ 代码包括 dlib 和 OpenCV 库。我已经为 C++ 环境成功编译了 OpenCV 和 dlib。另外,我已经在我的系统中安装了 emscripten。
目录结构为
C盘
|..
|-- dlib
|-- emsdk
|-- opencv
|-- cpp_project
现在,当我在命令提示符下的 cpp_project 目录中(以管理员模式打开)时,我正在执行以下命令。
emcc -msse3 -msimd128 -std=c++11 -O3 -I ../dlib ../opencv/build/include/opencv2/core.hpp ../dlib/dlib/all/source.cpp -lstdc++ -lpthread -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE=4 -s TOTAL_MEMORY=1024MB -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ccall', 'cwrap' ]" -s WASM=1 -o main.js
我收到以下错误:
../opencv/build/include/opencv2/core.hpp:52:10: 致命错误: 'opencv2/core/cvdef.h' 找不到文件
#include "opencv2/core/cvdef.h" ^~~~~~~~~~~~~~~~~~~~~~ 产生 1 个错误。
请帮助我。
您必须将 -I ../dlib ../opencv/build/include/opencv2/core.hpp
更改为
-I ../dlib -I ../opencv/build/include