先决条件和安装
Hana
是一个没有外部依赖的头文件库(甚至不依赖Boost
)。因此,在您自己的项目中使用Hana
非常容易。基本上,只需下载本项目并添加include/
目录到你的编译器的头文件搜索路径即可。或者,以下方式可以干净地安装Hana
。
安装
Boost
自
Boost 1.61.0
或更高版本开始,Hana
包含在Boost
中。因此,安装了Boost
即可访问Hana
了。使用
Homebrew
在
MacOS
上,可以使用Homebrew安装Hana
:brew install hana
手动(
manually
)安装
> mkdir build && cd build
> cmake ..
> cmake --build . --target install
这样,将在您的平台上安装Hana
到缺省的安装目录(Unix
为/usr/local
,Windows
为C:\\Program Files
)。如果想要安装到指定位置,可以这样做:
> cmake .. -DCMAKE_INSTALL_PREFIX=/custom/install/prefix
如果您只想为Hana
做出贡献,您可以看到如何在README中最佳地设置您的环境进行开发。
注意: 手动安装或者
Homebrew
方式安装还将安装一个与pkg-config一起使用的hana.pc
文件。
不要将全局安装的Hana
与全局安装的Boost
混合在一起,因为这两种安装方式都会发生冲突。 您不会知道使用哪一个版本的Hana
,并且可能会破坏依赖于Boost
(或反之亦然)提供的Hana
版本的库。 一般来说,你应该尽可能地使用本地安装(局部安装)。
最后,如果你想参与Hana
开发,README文档中有相关最佳设置你的开发环境的描述。
CMake用户注意
如果你使用CMake
,安装Hana
会更简单。 安装时,Hana
创建一个HanaConfig.cmake
文件,该文件将您(通过Homebrew
或manually
)安装Hana
时所必需的设置和接口等工作都做了。使用find_package(Hana)
,然后将您自己的项目与hana
项目相关联。 以下是个极简的例子:
cmake_minimum_required(VERSION 3.0)
project(external CXX)
find_package(Hana REQUIRED)
add_executable(external main.cpp)
target_link_libraries(external hana)
如果您已将Hana
安装在非标准的位置,则可能需要设置CMAKE_PREFIX_PATH
。 例如,如果您是通过“manually”的方式将Hana
本地安装到另一个项目,则可能会发生这种情况。 在这种情况下,您需要告诉CMake
在哪里能找到HanaConfig.cmake
文件
list(APPEND CMAKE_PREFIX_PATH "${INSTALLATION_PREFIX_FOR_HANA}")
or
cmake ... -DCMAKE_PREFIX_PATH=${INSTALLATION_PREFIX_FOR_HANA}
INSTALLATION_PREFIX_FOR_HANA
为Hana
的安装路径。
编译器要求
Hana
仅依赖于C++14
编译器和标准库,除此之外再无其它要求了。以下为当前支持Hana
的C++14
编译器/工具链列表:
编译器/工具链 | 状态 | ||
---|---|---|---|
Clang >= 3.5.0 | 完整支持;每次向GitHub推送前测试 | ||
Xcode >= 6.3 | 完整支持;每次向GitHub推送前测试 | ||
GCC >= 6.0.0 | 完整支持;每次向GitHub推送前测试 |
更具体地说,Hana
需要一个支持以下C++14
特性的编译器/标准库(非穷举):
- 泛型
lambda
- 通用
constexpr
- 变量模板
- 自动推导的返回类型
- 所有支持
C++14
的<type_traits>
头文件中的类型特性
查看wiki以获取更多平台相关信息。