Я установил ta-lib в свою Ubuntu 14.04, как указано в официальной документации
extract tar.gz
./configure
./make
./make install
Он установил Ta-lib в /usr/local/include/ta-lib
, Затем я добавил заголовок в один талиб #include <ta-lib/ta_libc.h>
и скомпилировал код без ошибок. но когда я добавил образцы кода 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();
}
это дало не определено Я знаю, что ошибка произошла из-за проблем со связыванием в кодовых блоках. Поэтому я вручную добавил ta-lib
в project>build options> linker settings>link libraries
а также -lta-lib
в other linker options
но теперь дает эту ошибку
/usr/bin/ld: cannot find -lta-lib
./configure
./make
./make install
не будет устанавливать пакет.
./configure
make
sudo make install
установит его. Это, вероятно, то, что вы сделали.
Он установил ta-lib в / usr / local / include / 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
от Варианты сборки -> Настройки компоновщика ->Других решений пока нет …