Files
smart_wasm/docs/build-logs/emmc_kdl.txt
2026-06-01 16:45:27 +08:00

96 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
emcc `
src/KinematicsWebAPI.cpp `
src/main.cpp `
src/Robot.cpp `
src/RobotManager.cpp `
src/utils.cpp `
src/kdl_parser/src/kdl_parser.cpp `
src/kdl_parser/src/joint.cpp `
src/kdl_parser/src/link.cpp `
src/kdl_parser/src/model.cpp `
src/kdl_parser/src/pose.cpp `
src/kdl_parser/src/tinystr.cpp `
src/kdl_parser/src/tinyxml.cpp `
src/kdl_parser/src/tinyxml2.cpp `
src/kdl_parser/src/tinyxmlerror.cpp `
src/kdl_parser/src/tinyxmlparser.cpp `
src/kdl_parser/src/twist.cpp `
src/kdl_parser/src/world.cpp `
-I./inc `
-I./src/kdl_parser/include `
-I./KDL/install/include `
-I./Eigen3 `
-I./Eigen3/eigen3 `
-L./KDL/install/lib `
-lorocos-kdl `
--source-map-base http://localhost:8000/ `
-s WASM=1 `
-s EXPORTED_FUNCTIONS='["_func","_smart_process_json","_smart_get_function_list","_smart_get_function_info","_smart_test_match","_smart_get_version","_smart_free_string","_malloc","_free","_main"]' `
-s EXPORTED_RUNTIME_METHODS='["UTF8ToString","stringToUTF8","ccall","cwrap","HEAPU8", "HEAPU16", "HEAPU32", "HEAP8", "HEAP16", "HEAP32", "HEAPF32", "HEAPF64"]' `
-s MODULARIZE=1 `
-s EXPORT_NAME='createSmartMathModule' `
-s ALLOW_MEMORY_GROWTH=1 `
-s ASSERTIONS=2 `
-s STACK_OVERFLOW_CHECK=2 `
-s USE_PTHREADS=0 `
-s TOTAL_MEMORY=268435456 `
-s INITIAL_MEMORY=67108864 `
-s MAXIMUM_MEMORY=536870912 `
-g4 `
-O0 `
-o public/wasm/smart_math.js
# 方法1使用 Chocolatey 安装 ninja
choco install ninja
# 确保你在 build_wasm 目录中
cd C:\Robotics\orocos_kinematics_dynamics\orocos_kdl\build_wasm
# 使用反引号作为续行符
emcmake cmake .. `
-DCMAKE_INSTALL_PREFIX="C:\Robotics\kdl_wasm\KDL\install_wasm" `
-DCMAKE_BUILD_TYPE=Release `
-DBUILD_SHARED_LIBS=OFF `
-DCMAKE_CXX_FLAGS="-s USE_PTHREADS=0" `
-DCMAKE_EXE_LINKER_FLAGS="-s USE_PTHREADS=0" `
-GNinja
emmake ninja
cmake --install . --prefix "C:\Robotics\kdl_wasm\KDL\install_wasm"
# 或者使用 -G "MinGW Makefiles" 如果你安装了 MinGW
方案1先编译 KDL 为 WebAssembly
bash
# 1. 进入 KDL 源码目录
cd /path/to/orocos-kdl
# 2. 创建构建目录并编译为 WebAssembly
mkdir build_wasm && cd build_wasm
# 3. 使用 emcmake 配置
emcmake cmake .. \
-DCMAKE_INSTALL_PREFIX=../../kdl_wasm/KDL/install_wasm \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CXX_FLAGS="-s USE_PTHREADS=0" \
-DCMAKE_EXE_LINKER_FLAGS="-s USE_PTHREADS=0"
# 4. 编译和安装
emmake make -j4
emmake make install