Программы на C++. Форум разработчиков
-
Гость
Простое связывание Boost с Emscripten (включая MWE)
Сообщение
Гость »
Как правильно связать Boost при компиляции с помощью Emscripten?
main.cpp
Код: Выделить всё
#include
int main() {
boost::filesystem::exists("file.txt");
}
compile and link
Код: Выделить всё
> em++ main.cpp --use-ports=boost_headers -sUSE_BOOST_HEADERS=1 -lboost_headers
wasm-ld: error: /tmp/emscripten_temp_u68f6vxm/main_0.o: undefined symbol: boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)
em++: error: '/home/ubuntu/tmp/emscripten/emsdk/upstream/bin/wasm-ld -o a.out.wasm /tmp/emscripten_temp_u68f6vxm/main_0.o -L/home/ubuntu/tmp/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /home/ubuntu/tmp/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libboost_headers.a -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpv1sq5rj0libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=stackAlloc --export=stackSave --export=stackRestore --export=__get_temp_ret --export=__set_temp_ret --export=__wasm_call_ctors --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --initial-memory=16777216 --max-memory=16777216 --no-entry --stack-first --table-base=1' failed (returned 1)
with
:
Код: Выделить всё
wasm-ld: error: unable to find library -lboost_filesystem
useful links
- Emscripten basic usage
- Emscripten ports
Источник:
https://stackoverflow.com/questions/781 ... e-included
1710179098
Гость
[b]Как правильно связать Boost при компиляции с помощью Emscripten?[/b]
main.cpp
[code]#include
int main() {
boost::filesystem::exists("file.txt");
}
[/code]
compile and link
[code]> em++ main.cpp --use-ports=boost_headers -sUSE_BOOST_HEADERS=1 -lboost_headers
wasm-ld: error: /tmp/emscripten_temp_u68f6vxm/main_0.o: undefined symbol: boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)
em++: error: '/home/ubuntu/tmp/emscripten/emsdk/upstream/bin/wasm-ld -o a.out.wasm /tmp/emscripten_temp_u68f6vxm/main_0.o -L/home/ubuntu/tmp/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /home/ubuntu/tmp/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libboost_headers.a -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpv1sq5rj0libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=stackAlloc --export=stackSave --export=stackRestore --export=__get_temp_ret --export=__set_temp_ret --export=__wasm_call_ctors --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --initial-memory=16777216 --max-memory=16777216 --no-entry --stack-first --table-base=1' failed (returned 1)
[/code]
with [code]-lboost_filesystem[/code]:
[code]wasm-ld: error: unable to find library -lboost_filesystem
[/code]
useful links
[list]
[*]Emscripten basic usage
[*]Emscripten ports
[/list]
Источник: [url]https://stackoverflow.com/questions/78142515/simple-boost-linking-with-emscripten-mwe-included[/url]