emscripten-core / emscripten-core/emscripten
Emscripten Fails to Build my cpp project, please help!
- Dominant language
- C++
- Stars
- 27.6k
- Forks
- 3.6k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 105
Description
I'm trying to compile my project to wasm, and now I meet a error when compiling.
My command:
`emcc -o slicer.js .\CMakeFiles\Slicer.dir\meshslice.cpp.o `
the error:
`wasm-ld: error: .\CMakeFiles\Slicer.dir\meshslice.cpp.o: must specify -mwasm64 to process wasm64 object files`
what does it mean.
MeshSlice.cpp
```
#include
#include
#include
#include
#include
#include
#include "fffProcessor.h"
#include "layerPart.h"
#include "meshslice.h"
#include "optimizedModel.h"
#include "slicer.h"
#include "utils/logoutput.h"
using namespace cura;
using namespace emscripten;
SliceVolumeStorage meshslice(SimpleVolume vol, ConfigSettings config) {
fffProcessor processor(config);
processor.processFile(&vol);
return processor.storage;
}
SliceVolumeStorage meshslice(SimpleVolume vol, float layerThickness) {
ConfigSettings config;
config.layerThickness = MM2INT(layerThickness);
fffProcessor processor(config);
processor.processFile(&vol);
return processor.storage;
}
EMSCRIPTEN_BINDINGS(my_module) {
function("meshslice_thickness", select_overload(&meshslice));
function("meshslice_config", select_overload(&meshslice));
}
```
cmake
```
cmake_minimum_required(VERSION 3.9)
project(Slicer)
FILE(GLOB SOURCE_1 "${CMAKE_CURRENT_SOURCE_DIR}/modelFile/*.cpp")
FILE(GLOB SOURCE_2 "${CMAKE_CURRENT_SOURCE_DIR}/utils/*.cpp")
FILE(GLOB SOURCE_3 "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
FILE(GLOB SOURCE_4 "${CMAKE_CURRENT_SOURCE_DIR}/clipper/*.cpp")
SET(EMSCRIPTEN_HEADER_PATH "D:/app/emsdk/emsdk/upstream/emscripten/cache/sysroot/include/emscripten")
MESSAGE(STATUS "SOURCE_1 Directory: ${SOURCE_1}")
MESSAGE(STATUS "SOURCE_2 Directory: ${SOURCE_2}")
MESSAGE(STATUS "SOURCE_3 Directory: ${SOURCE_3}")
MESSAGE(STATUS "SOURCE_4 Directory: ${SOURCE_4}")
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}")
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/modelFile")
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/utils")
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/clipper")
INCLUDE_DIRECTORIES("${EMSCRIPTEN_HEADER_PATH}")
SET(EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/bin")
add_library(${PROJECT_NAME} "${SOURCE_1}" "${SOURCE_2}" "${SOURCE_3}" "${SOURCE_4}")
target_link_libraries(${PROJECT_NAME})
```
And i want to know how to generate wasm files by using a *.a lib file.
Please help, thanks a lot!
Contributor guide
Assessment
This issue has not been assessed yet.