arm-linux-gnueabihf-g ++ arm-linux-gnueabihf / bin / ld.exe: не удается найти -llibxxx - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь кросс-компилировать малину с помощью arm-linux-gnueabihf-g ++ под Windows. Я успешно пробую пример "Hello Word", но когда я пытаюсь использовать библиотеку pylon "libpylonbase.so",
Компиляция вроде бы в порядке, но компоновщик говорит, что не находит "libpylonbase.so". Я добавил абсолютный путь к библиотеке с -L, но он не работает. Почему я говорю, что он не находит библиотеку? Вот команда и результат:

C:\SysGCC>raspberry\bin\arm-linux-gnueabihf-g++.exe -IC:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include 
-L"C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\lib" -llibpylonbase.so -ggdb C:\DevCrossSoft\Grab_CameraEvents.cpp -o C:\DevCrossSoft\Grab_CameraEvents
In file included from c:\sysgcc\raspberry\arm-linux-gnueabihf\include\c++\6/vector:63:0,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/Autovector.h:36,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/Types.h:37,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/IValue.h:35,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/IEnumEntry.h:36,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/IEnumeration.h:36,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/Pointer.h:36,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/GenApi.h:38,
                 from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/pylon/PylonIncludes.h:61,
                 from C:\DevCrossSoft\Grab_CameraEvents.cpp:38:
c:\sysgcc\raspberry\arm-linux-gnueabihf\include\c++\6/bits/stl_uninitialized.h: In function '_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, 
_InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = long long int*; _ForwardIterator = long long int*; _Allocator = std::allocator<long long int>]':
c:\sysgcc\raspberry\arm-linux-gnueabihf\include\c++\6/bits/stl_uninitialized.h:304:69: note: parameter passing for argument of type 'std::move_iterator<long long int*>' 
will change in GCC 7.1
   _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__last), __result, __alloc);

  .....

c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/6/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -llibpylonbase.so
collect2.exe: error: ld returned 1 exit status

Так что я пытаюсь сделать Dir по этому пути, и библиотека здесь. Так почему бы мне его не найти?

C:\SysGCC>dir C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\lib\libpylonbase.*
 Le volume dans le lecteur C s'appelle WIN7
 Le numéro de série du volume est 0A4E-F0C9
 Répertoire de C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\lib

07/11/2018  08:30         1 604 756 libpylonbase.so
               1 fichier(s)        1 604 756 octets
               0 Rép(s)   5 874 581 504 octets libres

1 Ответ

0 голосов
/ 07 ноября 2018

На самом деле, чтобы правильно связать эту библиотеку, я удалил префикс 'lib': Чтобы связать « libpylonbase.so », директива « -lpylonbase ». Я надеюсь, что это будет полезно для многих людей ...

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