Как сделать кросс-компиляцию библиотеки GSL для arm-none-eabi-gcc? - PullRequest
0 голосов
/ 25 января 2019

Мне нужно использовать библиотеку GSL в моей программе на LPCXpresso 4367 (ARM CORTEX M4).Я попытался выполнить процедуру компоновки библиотеки для LPC xpresso, но компоновщик MCU выдает мне следующие ошибки:

MCUXpressoIDE_10.3.0_2200 \ workspace \ test1 \ Debug /../ src / test1.c:53: неопределенная ссылка на 'gsl_linalg_LU_decomp'

MCUXpressoIDE_10.3.0_2200 \ workspace \ test1 \ Debug /../ src / test1.c: 56: неопределенная ссылка на 'gsl_matrix_alloc'

MCUXpressoIDE_10.3.0_2200 \ workspace \ test1 \ Debug /../ src / test1.c: 57: неопределенная ссылка на 'gsl_linalg_LU_invert'

и т. Д. Для других функций.

У меня есть скомпилированные библиотеки libgsl.a и libgslcblas.a для окон, которые прекрасно работают с кодовыми блоками на окнах с компилятором GCC.

Я прочитал, что мне нужно кросс-компилировать библиотеку для набора инструментов arm-none-eabi-gcc.Но может ли кто-нибудь, пожалуйста, также предоставить мне процедуру?

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Поскольку библиотеки предварительно скомпилированы для Windows, они не работают для ARM (как сказано в другом ответе)

Сначала необходимо скомпилировать библиотеки.Если вы устанавливаете библиотеки GSL, следуя этой процедуре, вам нужно всего лишь изменить параметры в ./config в соответствии с вашей платформой, например, я использовал:

./config --host=arm-linux-gnueabihf --prefix=/home/yourname/gsl_arm

Внутри.zip-файл с файлами gsl-2.5, есть файл с именем INSTALL.Там вы можете найти более подробную информацию о параметрах кросс-компиляции.

Убедитесь, что make clean ранее, если вы уже скомпилировали библиотеку для других настроек.После кросс-компиляции библиотеки при запуске make check на терминале вы, вероятно, получите ошибки, но все же это работает.Продолжайте с make install, и вы готовы использовать его.

0 голосов
/ 26 января 2019

скомпилированные библиотеки libgsl.a и libgslcblas.a для windows

Те не сделают для ARM.

Чтобы работать на другой платформе, эти библиотеки должны быть скомпилированы из исходного кода с соответствующим компилятором (а настройки - Cortex-M4F требует набора команд Thumb2).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...