如何在Linux上构建wabt工具



我想在Linux上构建**WebAssembly二进制工具包**。我遵循了下面给出的说明,但它总是创建调试二进制文件。https://github.com/WebAssembly/wabt#building-直接使用cmake linux和macos

我用来生成二进制文件的命令:

$ cmake .. -DCMAKE_BUILD_TYPE=Release
$ cmake --build .

它生成wasm objdump,但当我运行以下命令时,它似乎是调试二进制

$file wasm-objdump

O/p:

wasm-objdump: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a7194a75b0079b4278a2cb380e140876071b8642, with debug_info, not stripped

更具体地说,我想要wasm-objdump的发布版本。

正如下面提到的@yflelion";构建详细模式以查看执行的确切命令";

以下是我运行的命令:

$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
$ cmake --build .

O/p:

Scanning dependencies of target wasm-objdump
make[2]: Leaving directory '/home/kumarpr/Praveer_wabt/wabt/build'
/usr/bin/make -f CMakeFiles/wasm-objdump.dir/build.make CMakeFiles/wasm-objdump.dir/build
make[2]: Entering directory '/home/kumarpr/Praveer_wabt/wabt/build'
[ 72%] Building CXX object CMakeFiles/wasm-objdump.dir/src/tools/wasm-objdump.cc.o
/usr/bin/c++  -D__STDC_FORMAT_MACROS=1 -D__STDC_LIMIT_MACROS=1 -I/home/kumarpr/Praveer_wabt/wabt -I/home/kumarpr/Praveer_wabt/wabt/build -I/home/kumarpr/Praveer_wabt/wabt/third_party/gtest/googletest -I/home/kumarpr/Praveer_wabt/wabt/third_party/gtest/googletest/include  -std=c++11 -Wold-style-cast -fno-exceptions -O3 -DNDEBUG   -Wall -Wextra -Wno-unused-parameter -Wpointer-arith -g -Wuninitialized -Wno-clobbered -std=c++11 -o CMakeFiles/wasm-objdump.dir/src/tools/wasm-objdump.cc.o -c /home/kumarpr/Praveer_wabt/wabt/src/tools/wasm-objdump.cc
[ 73%] Building CXX object CMakeFiles/wasm-objdump.dir/src/binary-reader-objdump.cc.o
/usr/bin/c++  -D__STDC_FORMAT_MACROS=1 -D__STDC_LIMIT_MACROS=1 -I/home/kumarpr/Praveer_wabt/wabt -I/home/kumarpr/Praveer_wabt/wabt/build -I/home/kumarpr/Praveer_wabt/wabt/third_party/gtest/googletest -I/home/kumarpr/Praveer_wabt/wabt/third_party/gtest/googletest/include  -std=c++11 -Wold-style-cast -fno-exceptions -O3 -DNDEBUG   -Wall -Wextra -Wno-unused-parameter -Wpointer-arith -g -Wuninitialized -Wno-clobbered -std=c++11 -o CMakeFiles/wasm-objdump.dir/src/binary-reader-objdump.cc.o -c /home/kumarpr/Praveer_wabt/wabt/src/binary-reader-objdump.cc
[ 73%] Linking CXX executable wasm-objdump
/usr/bin/cmake -E cmake_link_script CMakeFiles/wasm-objdump.dir/link.txt --verbose=1
/usr/bin/c++   -std=c++11 -Wold-style-cast -fno-exceptions -O3 -DNDEBUG  -rdynamic CMakeFiles/wasm-objdump.dir/src/tools/wasm-objdump.cc.o CMakeFiles/wasm-objdump.dir/src/binary-reader-objdump.cc.o  -o wasm-objdump libwabt.a
make[2]: Leaving directory '/home/kumarpr/Praveer_wabt/wabt/build'
[ 73%] Built target wasm-objdump
/usr/bin/make -f CMakeFiles/wasm2c.dir/build.make CMakeFiles/wasm2c.dir/depend
make[2]: Entering directory '/home/kumarpr/Praveer_wabt/wabt/build'
cd /home/kumarpr/Praveer_wabt/wabt/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/kumarpr/Praveer_wabt/wabt /home/kumarpr/Praveer_wabt/wabt /home/kumarpr/Praveer_wabt/wabt/build /home/kumarpr/Praveer_wabt/wabt/build /home/kumarpr/Praveer_wabt/wabt/build/CMakeFiles/wasm2c.dir/DependInfo.cmake --color=

在这个项目中,由于添加了add_definitions的th-g选项,默认情况下会生成调试信息。

-g
Produce debugging information in the operating system’s native format (stabs, COFF, XCOFF, or DWARF). GDB can work with this debugging information.
On most systems that use stabs format, -g enables use of extra debugging information that only GDB can use; this extra information makes debugging work better in GDB but probably makes other debuggers crash or refuse to read the program. If you want to control for certain whether to generate the extra information, use -gstabs+, -gstabs, -gxcoff+, -gxcoff, or -gvms (see below).

要使此项目在发布模式和调试模式下构建,应从add_definitions中删除此选项,而在CMAKE_C_FLAGS_DEBUGCMAKE_CXX_FLAGS_DEBUG中添加此选项。

如果目标只是在发布模式下编译,则只能从add_definitions中删除此选项。删除此选项不会对代码的操作产生任何影响。

最新更新