Примеры wolfSSL и StellarisWare

Я хочу использовать freertos_demo, который является частью StellarisWare /TivaWare в сочетании с библиотекой wolfSSL, но мне трудно читать Makefile (на самом деле файлы makedefs).

Я скачал и скомпилировал wolfSSL в соответствии с руководством. Теперь в / usr / local / lib есть следующие файлы:

  • /usr/local/lib//libwolfssl.la
  • /usr/local/lib//libwolfssl.so
  • /usr/local/lib//libwolfssl.so.3
  • /usr/local/lib//libwolfssl.so.3.1.0

Теперь я открываю makedefs из корневого каталога StellarisWare и добавляю следующий код в строку 160:

LIBS=-lwolfsslКроме того, я изменил строки 246 и 252, которые теперь утверждают следующее (обе строки идентичны; в основном я только добавил '${LIBS}'):

'${LIBM}' '${LIBC}' '${LIBGCC}' '${LIBS}';

Однако когда я захожу в подкаталог blinky и выполняю команду "make clean; make", я получаю следующую ошибку:

arm-none-eabi-ld: cannot find -lwolfssl

Что мне не хватает?

Лучший

1 ответ

Согласно предложению @nettrino похоже, что / usr / local / lib отсутствует в вашей системной переменной LD_LIBRARY_PATH. Вы можете подтвердить это с терминала, используя эту команду

echo $LD_LIBRARY_PATH

Вы видите /usr/local/lib? Если нет, вы можете сделать одну из двух вещей.

Вариант 1: Следуйте предложенному @ nettrino предложению и в Makefile измените строку:

LIBS=-lwolfssl

в

LIBS=-L/usr/local/lib -lwolfssl

Вариант 2: отредактируйте ваш.bash_profile (или.bashrc) и добавьте строку:

export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib"

Затем перезагрузите терминал, чтобы получить обновленные изменения, или используйте команду

source .bash_profile

(или исходный код.bashrc в зависимости от того, какой файл вы редактировали)

Затем повторите ту же команду echo, и теперь вы видите / usr / local / lib в LD_LIBRARY_PATH?

Другие вопросы по тегам