我正在尝试在我的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。
发布于 2011-02-04 12:49:09
有没有可能您已经安装了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。
发布于 2011-02-04 10:26:54
libta-lib.a在哪里?错误消息表明链接器找不到该库。
https://stackoverflow.com/questions/4885317
复制相似问题