2019-02-27 23:27:11 +08:00
|
|
|
|
.. _developer:
|
|
|
|
|
|
2019-02-17 16:10:03 +08:00
|
|
|
|
C++ 开发者指南
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
为了顺利编译代码, 请勿使用从 github 直接下载源码包的方式编译。 原因是 git 上传时部分文件的换行符被置换为Linux式的换行符,将导致直接下载的部分代码在Windows下无法顺利编译。
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
C++ API参考:`<http://fasiondog.cn/hikyuu/cpp_ref/index.html>`_。
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
C++测试工程参考:`<http://fasiondog.cn/hikyuu/test_doc/index.html>`_
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
编译前准备
|
2019-02-17 16:10:03 +08:00
|
|
|
|
----------------
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
1、安装C++编译器
|
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
- Windows 平台:Visual C++ 2017 (或以上)
|
|
|
|
|
- Linux 平台: g++ > = 5.4.0 、 clang++ >= 3.8.0
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
2、安装构建工具 xmake
|
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
xmake >= 2.2.2,网址:`<https://github.com/xmake-io/xmake>`_
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
Windows下,从 xmake github 页面中的“release”进入,直接下载相应的 exe 安装包安装即可:
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
.. figure:: _static/dev-001.jpg
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
Linux、macOSX 执行以下指令安装:
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-23 20:05:32 +08:00
|
|
|
|
.. code-block:: shell
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
git clone --branch=dev https://github.com/tboox/xmake.git tboox/xmake --depth 1
|
|
|
|
|
cd ./tboox/xmake
|
|
|
|
|
./scripts/get.sh __local__
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
3、克隆 Hikyuu 源码
|
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
执行以下命令克隆 hikyuu 源码:(请勿在中文目录下克隆代码)
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
.. code-block:: shell
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
git clone https://github.com/fasiondog/hikyuu.git --recursive --depth 1
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
4、下载 Boost 源码
|
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
1. 下载 Boost 源码 `<http://www.boost.org>`_
|
|
|
|
|
2. 将下载的 boost 源码包解压至上一步中克隆的 hikyuu目录下,如下图所示:
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
.. figure:: _static/dev-002.jpg
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
以下版本的 boost 无法顺利编译,请注意注意不要使用:
|
|
|
|
|
|
|
|
|
|
- Windows:1.67
|
|
|
|
|
- linux、macOS:1.68
|
2020-10-01 16:44:19 +08:00
|
|
|
|
|
|
|
|
|
3. 如果使用 Anaconda 的 python,需手工修改 boost 根目录下的 project-config.jam 文件, 找到 “using python” 所在行,手工添加python的版本、可执行文件、include目录,如:using python : 3.7 : "/Users/ljh/opt/anaconda3/bin/python3.7" : /Users/ljh/opt/anaconda3/include/python3.7m ;
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-23 20:05:32 +08:00
|
|
|
|
5、Linux下安装依赖软件包
|
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
Linux下需安装依赖的开发软件包:hdf-dev、mysqlclient。如 Ubuntu 下,执行以下命令:
|
|
|
|
|
|
|
|
|
|
.. code-block:: shell
|
|
|
|
|
|
|
|
|
|
sudo apt-get install -y libhdf5-dev libhdf5-serial-dev libmysqlclient-dev
|
|
|
|
|
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
编译与安装
|
|
|
|
|
------------
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-08-01 23:07:10 +08:00
|
|
|
|
须先安装 python click包(pip install click)
|
|
|
|
|
|
2019-07-27 18:41:23 +08:00
|
|
|
|
直接在克隆的 hikyuu 目录下执行 python setup.py command , 支持的 command:
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
2019-02-17 23:21:39 +08:00
|
|
|
|
- python setup.py help -- 查看帮助
|
2019-07-27 18:41:23 +08:00
|
|
|
|
- python setup.py build -- 执行编译
|
|
|
|
|
- python setup.py install -- 编译并执行安装(安装到 python 的 site-packages 目录下)
|
2019-02-17 23:21:39 +08:00
|
|
|
|
- python setup.py uninstall -- 删除已安装的Hikyuu
|
2019-08-01 23:07:10 +08:00
|
|
|
|
- python setup.py test -- 执行单元测试(可带参数 --compile=1,先执行编译)
|
2019-02-17 23:21:39 +08:00
|
|
|
|
- python setup.py clear -- 清除本地编译结果
|
2019-07-27 18:41:23 +08:00
|
|
|
|
- python setup.py wheel -- 生成wheel安装包
|
2019-02-17 16:10:03 +08:00
|
|
|
|
|
|
|
|
|
|