报错如下:
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
(anonymous namespace)::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char) in libzxing.a(Decoder.cpp.o)
zxing::qrcode::DecodedBitStreamParser::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, unsigned long, char const*) in libzxing.a(DecodedBitStreamParser.cpp.o)
"_iconv_close", referenced from:
(anonymous namespace)::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char) in libzxing.a(Decoder.cpp.o)
zxing::qrcode::DecodedBitStreamParser::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, unsigned long, char const*) in libzxing.a(DecodedBitStreamParser.cpp.o)
"_iconv_open", referenced from:
(anonymous namespace)::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char) in libzxing.a(Decoder.cpp.o)
zxing::qrcode::DecodedBitStreamParser::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, unsigned long, char const*) in libzxing.a(DecodedBitStreamParser.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: ld returned 1 exit status
首先确定已经安装了iconv库,在/usr/include文件夹下有头文件iconv.h,在/usr/lib文件夹下有libiconv.dylib
处理方法一:
修改toolchain为gcc。因为clang有坑。参见官方教程https://www.jetbrains.com/help/clion/how-to-switch-compilers-in-clion.html
处理方法二:
换个os!docker下创建了个debian镜像来作编译任务,虚拟机也行。