在Windows上为Ruby gem安装ta-lib的指南

时间:2016-08-10 07:27:16

标签: ruby ta-lib

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

  1. 运行 val someInt = Some (2) val noneInt:Option[Int] = None val someIntRes = someInt.map (_ * 2) //Some (4) val noneIntRes = noneInt.map (_ * 2) //None

    gem install talib_ruby
  2. here

  3. 下载msvc中的ta-lib头文件
  4. 告诉talib_ruby gem安装时ta-lib文件的位置。基于this SO post,正确的命令应该类似于: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 .... 。该命令指定了我下载的ta-lib中缺少的lib文件夹的路径。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

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

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

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

  5. 安装gem。退出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
    

    请务必更改自己的路径。