【问题标题】:Clang and -std=libc++ on NetBSD?NetBSD 上的 Clang 和 -std=libc++?
【发布时间】:2017-01-12 18:31:16
【问题描述】:

我正在尝试在 NetBSD 上使用 clang++libc++ 编译程序。 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

&lt;cstddef&gt; 存在,但它似乎是 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

带有 libc++ 的 Clang 是 NetBSD 上受支持的配置吗?我们如何在 NetBSD 上使用 Clang 和 libc++?

【问题讨论】:

    标签: clang libc++ netbsd


    【解决方案1】:

    NetBSD 支持 Libc++(尽管没有定期测试)。不幸的是,我不确定是什么软件包提供了它(如果有的话)。

    另一种选择是build and install libc++ from source。 Clang 将首先搜索其自己的 libc++ 标头前缀,然后搜索 /usr/local/include/c++/v1,因此您需要将 libc++ 安装在这两个位置之一(例如 -DCMAKE_INSTALL_PREFIX=/usr/local)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-28
      • 2013-07-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      • 2016-07-18
      • 2016-02-23
      相关资源
      最近更新 更多