Проблема при компиляции кода C++ в WASM с использованием emcc

Я пытаюсь скомпилировать код C++ в WASM, но сталкиваюсь с проблемами. Мой код на C++ включал библиотеки dlib и OpenCV. Я успешно скомпилировал OpenCV и dlib для среды C++. Кроме того, я установил в свою систему 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 ошибка.

Пожалуйста, помогите мне.

1 ответ

Решение

Вы должны изменить -I ../dlib ../opencv/build/include/opencv2/core.hpp к-I ../dlib -I ../opencv/build/include

Другие вопросы по тегам