我正在尝试用clang++和libc++在NetBSD上编译一个程序。Clang版本为3.9.0,NetBSD版本为7.0.2。编译失败,出现以下错误:
$ make
clang++ -D_NETBSD_SOURCE -m64 -pthread -stdlib=libc++ -fPIC -fvisibility=hidden \
-std=c++11 -D_REENTRANT -O3 -Wall -Ibuild/include -c ./src/lib/asn1/alg_id.cpp \
-o build/obj/lib/asn1_alg_id.o
In file included from ./src/lib/asn1/alg_id.cpp:8:
In file included from build/include/botan/alg_id.h:11:
In file included from build/include/botan/asn1_obj.h:11:
In file included from build/include/botan/secmem.h:11:
In file included from build/include/botan/mem_ops.h:11:
build/include/botan/types.h:14:10: fatal error: 'cstddef' file not found
#include <cstddef>
^
1 error generated.
*** Error code 1<cstddef>是存在的,但它似乎是GCC的:
$ find /usr -name cstddef
/usr/include/g++/cstddef如果我正确地解析了Index of pub/NetBSD/NetBSD-release-7/src/external/bsd/libc++,那么这个库是可用的。当我尝试安装libc++或libcxx时
bash-4.4$ sudo PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/`uname -m`/`uname -r`/All/" pkg_add libcxx
pkg_add: no pkg found for 'libcxx', sorry.
pkg_add: 1 package addition failed
bash-4.4$ sudo PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/`uname -m`/`uname -r`/All/" pkg_add libc++
pkg_add: no pkg found for 'libc++', sorry.
pkg_add: 1 package addition failed在NetBSD上,Clang with libc++是受支持的配置吗?我们如何在NetBSD上使用Clang和libc++?
发布于 2017-01-14 13:18:53
NetBSD支持Libc++ (尽管没有定期测试)。不幸的是,我不确定哪个包提供了它(如果有的话)。
一种替代方案是build and install libc++ from source。Clang会先在自己的前缀中搜索libc++头,然后再搜索/usr/local/include/c++/v1,所以你需要在这两个位置中的一个位置安装libc++ (例如-DCMAKE_INSTALL_PREFIX=/usr/local)。
https://stackoverflow.com/questions/41620456
复制相似问题