Как связать ta-lib в кодовых блоках (Ubuntu 14.04)?

Я установил 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

0

Решение

./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 от Варианты сборки -> Настройки компоновщика ->
    Другие варианты компоновщика
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]