在linux运行math_neon库,linux - 仅使用带交叉编译器的本地库 - 堆栈内存溢出
我正在嘗試在linux上使用交叉編譯器構(gòu)建一個(gè)應(yīng)用程序。 應(yīng)用程序基于OpenEmbedded項(xiàng)目。 編譯器和所有交叉編譯的庫(kù)都位于build文件夾中。 但是對(duì)于一個(gè)包構(gòu)建腳本試圖使用我的linux環(huán)境中的庫(kù)。
最后從make腳本調(diào)用的命令:
/ bin / sh ./arm-ABC-linux-gnueabi-libtool --tag = CXX --mode = link arm-ABC-linux-gnueabi-g ++ -march = armv7-a -mtune = cortex-a8 -mfpu = neon -mfloat-abi = softfp -g --std = c ++ 0x -pthread -L / home / ABC / build / sysroots / armv7a-ABC-linux-gnueabi / opt / my / lib -Wl,-rpath-link, / home / ABC / build / sysroots / armv7a-ABC-linux-gnueabi / opt / my / lib -Wl,-O1 -Wl, - hash-style = gnu -L / opt / my / lib -o modbus_server_test modbus_server_test。 o Serial.o SerialUtil.o Crc.o RtuFramer.o Pdu.o SerialMaster.o /home/ABC/build/sysroots/armv7a-ABC-linux-gnueabi/usr/local/apr/lib/libapr-2.la - lcrypt -luuid -lrt -lcrypt -lpthread -ldl -lexpat -lstdc ++
從這里最重要的是使用-lexpat標(biāo)志為libexpat.so.1.5.2庫(kù)。 這個(gè)庫(kù)是交叉編譯的,位于build文件夾中,同時(shí)我們的linux環(huán)境中有一個(gè)庫(kù)。
結(jié)果我收到了下一個(gè)錯(cuò)誤:
| arm-ABC-linux-gnueabi-libtool:link:arm-ABC-linux-gnueabi -g ++ -march = armv7-a -mtune = cortex-a8 -mfpu = neon -mfloat-abi = softfp -g --std = c ++ 0x -pthread -Wl,-rpath-link -Wl,/ home / ABC / build / sysroots / armv7a-ABC-linux-gnueabi / opt / my / lib -Wl,-O1 -Wl, - hash-style = gnu -o .libs / modbus_server_test modbus_server_test.o Serial.o SerialUtil.o Crc.o RtuFramer.o Pdu.o SerialMaster.o -L / home / ABC / build / sysroots / armv7a-ABC-linux-gnueabi / opt / my / lib -L ??/ opt / my / lib /usr/local/apr/lib/libapr-2.so -L / home / ABC / build / sysroots / armv7a-ABC-linux-gnueabi / usr / lib / usr / lib / x86_64-linux-gnu / libexpat.so /home/ABC/build/sysroots/armv7a-ABC-linux-gnueabi/usr/lib/libuuid.so -lrt -lcrypt -lpthread -ldl / home / ABC / build / sysroots / armv7a-ABC-linux-gnueabi / usr / lib / libexpat.so /home/ABC/build/build/sysroots/armv7a-ABC-linux-gnueabi/usr/lib/libstdc++.so -lm -pthread -Wl, -rpath -Wl,/ usr / local / apr / lib -Wl,-rpath -Wl,/ home / ABC / build / sysroots / armv7a-ABC-linux-gnueabi / usr / lib
| /usr/lib/x86_64-linux-gnu/libexpat.so :文件無(wú)法識(shí)別:文件格式無(wú)法識(shí)別
| collect2:ld返回1退出狀態(tài)| make [2]:*** [modbus_server_test]錯(cuò)誤1
從輸出我可以看到它包含兩個(gè)庫(kù):一個(gè)來(lái)自linux環(huán)境(/usr/lib/x86_64-linux-gnu/libexpat.so,這是x86),另一個(gè)來(lái)自build文件夾(build / sysroots / armv7a-ABC-linux) -gnueabi / usr / lib / libexpat.so用于ARM)。最后它抱怨x86類型。
如何在全球環(huán)境中排除此庫(kù)以進(jìn)行搜索? 為什么甚至試圖同時(shí)使用它們?
總結(jié)
以上是生活随笔為你收集整理的在linux运行math_neon库,linux - 仅使用带交叉编译器的本地库 - 堆栈内存溢出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 急辞工扣20%是怎么算的 急辞工资扣除2
- 下一篇: linux nat span端口镜像,S