2016-07-25 24 views
0

我已经安装了TA-lib的在我的Ubuntu 14.04作为如何链接代码块中的ta-lib(Ubuntu 14.04)?

extract tar.gz 
./configure 
./make 
./make install 

它在/usr/local/include/ta-lib安装TA-lib的官方文档中提到。然后我将这个头文件添加到talib中,并且无错地编译了代码。但是当我加入了TA-lib的示例代码

#include <ta-lib/ta_libc.h> 
    TA_RetCode retCode; 
    retCode = TA_Initialize(); 
    if(retCode != TA_SUCCESS) 
    printf("Cannot initialize TA-Lib (%d)!\n", retCode); 
    else 
    { 
     printf("TA-Lib correctly initialized.\n"); 

     /* ... other TA-Lib functions can be used here. */ 

     TA_Shutdown(); 
    } 

它给了一个不确定错误,我知道是由于代码块的连接问题。所以我手动project>build options> linker settings>link libraries-lta-lib添加ta-libother linker options但现在它给这个错误

/usr/bin/ld: cannot find -lta-lib 

回答

1
./configure 
./make 
./make install 

不会安装该软件包。

./configure 
make 
sudo make install 

将安装它。这可能是你做的。

它在/ usr /本地/包括/ TA-lib中安装了TA-lib的

不完全是。它在 /usr/local/include/ta-lib下安装了库的头文件,并在/usr/local/lib下安装了静态库和共享库 库。

我手动TA-lib中添加项目>编译选项>连接设置>连接库 和-lta-lib添加到其他连接器选项

这些都是做同样的事情的替代方式。它们都会导致 将选项-lta-lib传递给链接器,因此链接器命令行 会显示此选项两次。

该选项指导链接搜索名为libta-lib.so或共享库,没有 的是,静态库中的每个链接的搜索称为libta-lib.a您已在其默认搜索指定的,如果有的话,然后 目录 目录。

你没有指定任何链接的搜索目录,但这不要紧,因为 /usr/local/lib,其中库安装,是链接的 默认搜索目录之一。不过

链接器抱怨说,它无法找到库选项 -lta-lib,因为安装在/usr/local/lib共享库是 libta_lib.so和静态库是libta_lib.a。不是libta-lib.{so|a}

所以: -

  • ta_lib构建选项替换ta-lib - >连接器设置 - > 链接库
  • 删除-lta-lib构建选项 - >链接器设置 - > O其他连接器选项
+0

感谢您对'sudo make install'和'ta_lib'现在的编译没有任何错误 – Eka