我试图交叉编译raspberry与arm linux-gnueabihf-g++在Windows下。我成功地尝试了一个"Hello“示例,但是当我尝试使用塔图书"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所以我试着走这条路,图书馆就在这里。那为什么找不到呢?
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发布于 2018-11-07 15:07:08
实际上,为了正确链接这个库,我删除了'lib‘前缀:要链接"libpylonbase.so",指令是"-lpylonbase“。我希望它能对很多人有用..。
https://stackoverflow.com/questions/53192072
复制相似问题