无法使用ta-lib编译源代码

时间:2011-02-03 11:03:04

标签: c finance

我正在尝试在我的C应用程序中使用ta-lib(http://ta-lib.org/)C API。 我下载了ta-lib的源代码,使用make install将它们安装在我的系统上。库已成功编译,我在/usr/local/lib/中有二进制文件。 然后我按照ta-lib网站上的建议编译我的应用程序:

$ gcc -L/usr/local/lib -lta-lib -o tlc talib_test.c
/usr/bin/ld: cannot find -lta-lib
collect2: ld returned 1 exit status
$

任何想法出了什么问题?

OS:我正在使用Ubuntu 9。

2 个答案:

答案 0 :(得分:1)

您是否有可能安装了libta-lib.so的32位副本并正在编译64位测试程序,反之亦然?也就是说,你的库类型可能不匹配吗?

如果不这样做,您是否看过/usr/local/lib检查您是否有libta-lib.so?或者可能是库实际上被称为libta.so或类似的东西,所以你需要在命令行上指定-lta


在我的Mac上,如图所示安装了库(编译几分钟后):

/usr/bin/install -c .libs/libta_lib.lai /usr/gnu64/lib/libta_lib.la
/usr/bin/install -c .libs/libta_lib.a /usr/gnu64/lib/libta_lib.a

这需要使用带有下划线的-lta_lib而不是带有短划线的-lta-lib

答案 1 :(得分:0)

libya-in.a在哪里?错误消息表明链接器无法找到库。

相关问题