wasm-micro-runtime icon indicating copy to clipboard operation
wasm-micro-runtime copied to clipboard

embed WAMR into C/C,error:lnk2019 unresolved external symbol

Open kamylee opened this issue 2 years ago • 1 comments

I am embedding WAMR into my C/C++ code, like this." camkelists.txt:

include_directories( "E:/WorkSpace/wasm-micro-runtime/core/iwasm/include") LINK_DIRECTORIES("E:/WorkSpace/CMakeProject1/out/build/x64-release/CMakeProject1") ... #wasm start set (WAMR_BUILD_PLATFORM "windows") set (WAMR_BUILD_TARGET "X86_64") set (WAMR_BUILD_INTERP 1) set (WAMR_BUILD_FAST_INTERP 1) set (WAMR_BUILD_AOT 1) set (WAMR_BUILD_JIT 0) set (WAMR_BUILD_LIBC_BUILTIN 1) set (WAMR_BUILD_LIBC_WASI 1) set (WAMR_BUILD_LIBC_UVWASI 1) set (WAMR_BUILD_SIMD 1)

set (WAMR_ROOT_DIR "E:/WorkSpace/wasm-micro-runtime")
include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake)
ADD_LIBRARY(vmlib ${WAMR_RUNTIME_LIB_SOURCE})
#wasm end

add_executable (CMakeProject1 "CMakeProject1.cpp" "CMakeProject1.h") TARGET_LINK_LIBRARIES(CMakeProject1 vmlib )

BUILD_TYPE: x64 release I found it generated the "vmlib.lib" file. This error occurs when I compile: lnk2019 unresolved external symbol .How to solve this problem?

kamylee avatar Dec 04 '23 10:12 kamylee

我加了以下代码就能正常运行了 / I added following code ,it works fine :

Reset default linker flags

set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") set (CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")

add_definitions(-DCOMPILING_WASM_RUNTIME_API=1)

ADD_LIBRARY(vmlib ${WAMR_RUNTIME_LIB_SOURCE}) 运行正常了,能正常加载wasm文件。

但是在windows下我想编译成运行时为MT的,加上这句:set(CMAKE_CXX_FLAGS_RELEASE " /MT")就编译出错了。我要怎么做才能编译成/MT的静态库?有人帮解答一下吗? image

kamylee avatar Dec 05 '23 02:12 kamylee