有没有办法链接到一个共享库,这个共享库只在目标系统上可用,而在用于交叉编译的系统上不可用?我想交叉编译另一个共享库,它链接到目标系统上的共享库。
在我的源代码目录中,有一个include目录,其中包含带有函数声明的头文件。我编译源代码是通过
arm-linux-gnueabi-g++ -Wall -fPIC -I include/ -c mysource1.cpp
arm-linux-gnueabi-g++ -Wall -fPIC -I include/ -c mysource2.cpp此状态下没有错误或警告。下一条命令
arm-linux-gnueabi-g++ -shared -fPIC -rdynamic mysource1.o mysource2.o -L /usr/lib/libtargetsys_shlib.so -Wl,-z,defs -o another_shared_lib.so报告以下错误:
mysource2.o: In function `my_func_2':
mysource2.cpp:(.text+0xe): undefined reference to `share_lib_func'shared_lib_func存在于目标系统共享库中。
发布于 2016-10-12 15:47:53
在交叉编译后的链接中,您不需要本机库,您需要来自目标系统的库。将其复制到您的构建系统。
https://stackoverflow.com/questions/39986722
复制相似问题