进入官网,没找到已经编译好的deb包或者是rpm包,于是下载源码:https://github.com/zerotier/ZeroTierOne/archive/master.zip
系统之前已经安装了clang 版本10。解压缩后,发现有个CMakeLists.txt,于是 mkdir build; cd build; cmake ..; make -j8
但是发现没有编译出可执行文件,仅仅编译出来了.a文件。仔细看网站上的说明,要make,目录下还有一个Makefile文件。
但编译的时候,分别显示无法找到<string>这个文件,另外提示“找不到 -lstdc++”。
export CPLUS_INCLUDE_PATH=/usr/include/c++/7:/usr/include/c++/7/backward:/usr/include/x86_64-linux-gnu/c++/7 apt install libstdc++-10-dev -y
这样就解决问题了。
仔细check了下,clang10使用/usr/include/c++/7下的头文件,还是有点不论不类。
运行apt-cache search clang|grep 10|grep dev,结果是
clang-tools-10 - clang-based tools for C/C++ developments libclang-10-dev - Clang library - Development package libclang-common-10-dev - Clang library - Common development package libclang-cpp10-dev - C++ interface to the Clang library liblldb-10-dev - Next generation, high-performance debugger, header files
安装 libclang-cpp10-dev 没有作用,安装 libclang-cpp10-dev 有效果,/usr/include/c++/目录下增加了“10”这个目录。
所以最好的方案是:
apt -y install libstdc++-10-dev libclang-cpp10-dev