- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试链接在一起:
-std=c++11
编译-std=c++11 -stdlib=libc++
编译具体来说,正在执行此链接器命令:
/bin/bash ../../libtool --silent --tag=CXX --mode=link clang++-5.0 -I../../include -I../../lib -I../../lib -I../../tests/fuzz -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp -std=c++11 -stdlib=libc++ -o curl_fuzzer curl_fuzzer-curl_fuzzer.o ../../lib/libcurl.la /root/checkouts/Fuzzer/libFuzzer.a -lssh2 -lssl -lcrypto -lssl -lcrypto -lz -lpthread -lm
执行此命令输出以下内容:
/bin/bash ../../libtool --silent --tag=CXX --mode=link clang++-5.0 -I../../include -I../../lib -I../../lib -I../../tests/fuzz -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp -std=c++11 -stdlib=libc++ -o curl_fuzzer curl_fuzzer-curl_fuzzer.o ../../lib/libcurl.la /root/checkouts/Fuzzer/libFuzzer.a -lssh2 -lssl -lcrypto -lssl -lcrypto -lz -lpthread -lm > /tmp/cat.txt 2>&1; head -20 /tmp/cat.txt
/root/checkouts/Fuzzer/libFuzzer.a(FuzzerIO.o): In function `fuzzer::FileToVector(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, bool)':
/root/checkouts/Fuzzer/./FuzzerIO.cpp:34: undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode)'
/root/checkouts/Fuzzer/./FuzzerIO.cpp:40: undefined reference to `std::istream::seekg(long, std::_Ios_Seekdir)'
/root/checkouts/Fuzzer/./FuzzerIO.cpp:41: undefined reference to `std::istream::tellg()'
/root/checkouts/Fuzzer/./FuzzerIO.cpp:47: undefined reference to `std::istream::seekg(long, std::_Ios_Seekdir)'
/root/checkouts/Fuzzer/./FuzzerIO.cpp:49: undefined reference to `std::istream::read(char*, long)'
/root/checkouts/Fuzzer/libFuzzer.a(FuzzerIO.o): In function `~basic_ifstream':
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/fstream:534: undefined reference to `VTT for std::basic_ifstream<char, std::char_traits<char> >'
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/fstream:534: undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
/root/checkouts/Fuzzer/libFuzzer.a(FuzzerIO.o): In function `~basic_ios':
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/basic_ios.h:282: undefined reference to `std::ios_base::~ios_base()'
/root/checkouts/Fuzzer/libFuzzer.a(FuzzerIO.o): In function `~basic_ifstream':
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/fstream:534: undefined reference to `VTT for std::basic_ifstream<char, std::char_traits<char> >'
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/fstream:534: undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
/root/checkouts/Fuzzer/libFuzzer.a(FuzzerIO.o): In function `~basic_ios':
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/basic_ios.h:282: undefined reference to `std::ios_base::~ios_base()'
/root/checkouts/Fuzzer/libFuzzer.a(FuzzerIO.o): In function `fuzzer::FileToString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/root/checkouts/Fuzzer/./FuzzerIO.cpp:54: undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode)'
/root/checkouts/Fuzzer/libFuzzer.a(FuzzerIO.o): In function `~basic_ifstream':
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/fstream:534: undefined reference to `VTT for std::basic_ifstream<char, std::char_traits<char> >'
<snip>
我已尝试执行以下操作来解决此问题:
-lc++
- 什么都不做-lc++abi
- 不执行任何操作感觉好像我遗漏了一些明显的东西,但我不确定是什么......
我的 clang-5.0 安装来自 clang-5.0/kali-rolling
。
最佳答案
您已经使用 libstdc++ 编译了部分代码,使用 libc++ 编译了部分代码。当您将它们链接在一起(使用 libc++)时,引用 libstdc++ 的部分不会得到解析。
例如,std::__cxx11::basic_string
绝对是一个 libstdc++ 符号。
关于clang - 无法使用 clang 将 libFuzzer.a 与 libc++ 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46005228/
我正在尝试使用 libfuzzer 模糊为大端 MIPS 架构编写的部分代码。 我在 Debian 小端机器下运行 libfuzzer 并出现段错误。我认为结果并不是100%值得信赖。如何将 libf
使用 libfuzzer 的模糊测试过程会无限期地继续,直到发现错误。 即使在发现错误后,libfuzzer 中是否有标志或选项可以改变并继续模糊测试? 最佳答案 ASAN_OPTIONS=halt_
Libfuzzer 提供了两个 API 来开发自定义修改器。 size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size, size_t Max
我正在试验 LLVM 项目的 libFuzzer,试图为音频信号处理库生成输入。 为了简单起见,我从一个常量零的 64kb PCM 作为初始语料库开始,使用 -max_len=65536。每次库调用的
我有一个 libFuzzer 用法的简单示例。 // Test_fuzzer.cc #include #include extern "C" int LLVMFuzzerTestOneInput(
我可以在 makefile 中使用以下变量成功编译 Nginx CC = clang-6.0 CFLAGS = -pipe -O -Wall -Wextra -Wpointer-arith -Wcon
我正在尝试链接在一起: libFuzzer.a,使用 clang++-5.0 和 -std=c++11 编译 我的模糊驱动程序,使用 clang++-5.0 和 -std=c++11 -stdlib=
http://llvm.org/docs/LibFuzzer.html我现在正在使用 libfuzzer 做一些工作,但是当我使用官方玩具示例时。当我运行这个命令时: clang++ -fsaniti
我是一名优秀的程序员,十分优秀!