1

我已经尝试了很长一段时间来安装 ta-lib,这样我就可以根据这个github 示例使用一些指标函数进行交易。到目前为止,我已经确定我需要:

  1. gem install talib_ruby

    C:\Users\king\Desktop\_REPOS\misc\stock_analysis\forex\oanda\ruby>gem install talib_ruby
    Temporarily enhancing PATH to include DevKit...
    Building native extensions.  This could take a while...
    ERROR:  Error installing talib_ruby:
        ERROR: Failed to build gem native extension.
    
    C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20160810-7176-j5lye2.rb extconf.rb
    checking for TA_Initialize() in -lta_lib... no
    creating Makefile
    
    make "DESTDIR=" clean
    
    make "DESTDIR="
    generating talib-x64-mingw32.def
    compiling talib.c
    talib.c:2:32: fatal error: ta-lib/ta_abstract.h: No such file or directory
    compilation terminated.
    make: *** [talib.o] Error 1
    
    make failed, exit code 2
    ....
    
  2. 从这里下载 msvc 中的 ta-lib 头文件

  3. 安装时告诉 talib_ruby gem ta-lib 文件的位置。基于此 SO 帖子,正确的命令应类似于:sudo env ARCHFLAGS="-arch x86_64" gem install talib_ruby -- --with-talib-include=/opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/include/ta-lib --with-talib-lib=/opt/local/var/macports/software/ta-lib/0.4.0_0/opt/local/lib . 该命令指定了我下载的 ta-lib 中缺少的 lib 文件夹的路径。有谁知道如何解决这一问题?

4

1 回答 1

3

视窗?对不起我的英语不好。我的系统:Windows 7 SP1 x64,ruby 2.2.4p230

  1. 您必须安装 Ruby Development Kit 来构建二进制扩展。
  2. 下载并解压源码,我用的是ta-lib-0.4.0-src.tar.gz。
  3. 从 Ruby DevKit运行msys.bat,或者如果您已将 mingw 作为RubyInstaller的一部分安装,请运行mingw64.exeming32.exe。导航到 ta-lib 源文件(在我的例子中是/d/dev/ta-lib)并构建库:

    cd /d/dev/ta-lib
    ./configure
    make
    
  4. 因为 C 头文件的路径硬编码在 gem to 中#include <ta-lib/ta_abstract.h>,所以我只是ta-libd:\dev\ta-lib\include源文件夹中创建一个新目录,并将所有头文件复制到这里。(d:\dev\ta-lib\include*.h 中的文件复制到 d:\dev\ta-lib\include\ta-lib)

  5. 安装宝石。退出 msys 或 mingw 终端并在 Windows cmd 中运行以下命令。请务必将这些路径替换为 ta-lib 源的正确路径:

    gem install talib_ruby -- --with-talib-include=d:/dev/ta-lib/include --with-talib-lib=d:/dev/ta-lib/src/.libs
    

    确保将路径更改为您的路径。

于 2016-08-15T12:53:33.880 回答