2017-01-12 45 views
0

我想在NetBSD上編譯一個帶有clang++libc++的程序。 Clang版本是3.9.0,NetBSD版本是7.0.2。編譯與失敗:NetBSD上的Clang和-std = libC++?

$ 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 

是鏘用的libC++在NetBSD支持的配置?我們如何在NetBSD上使用Clang和libC++?

回答

1

NetBSD支持LibC++(雖然它沒有經常測試)。不幸的是我不確定哪個軟件包提供了它(如果有的話)。

另一種選擇是build and install libc++ from source。 Clang將首先搜索自己的libC++頭文件的前綴,然後/usr/local/include/c++/v1秒,因此您需要在這兩個位置之一(例如-DCMAKE_INSTALL_PREFIX=/usr/local)中安裝libC++。

相關問題