Table of Contents
Rekommenderas
Om du frågar felet usr/bin/arm-linux-gnueabihf-ld inte hittas, är den här artikeln här som ett sätt att hjälpa.
De relevanta miljöproblemen förknippade med korskompileringsmetoden har ställts in lämpliga under lång tid, men när huvudkommandot “arm-linux-gcc -v” används absolut frekvent, är “kommando långt ej hittat” definitivt alltid visas. . Den fullt goda anledningen som är relaterad till att laddningen xxx-xxx-gcc inte kan vara 64. den fungerar. Det är på en lite träningsmaskin medan därför kastar ett fel. Detta är faktiskt min anledning.
namn “t2″>
Situationertre är utsedda på Internet enligt följande :
1. Arm-none-linux-gnueabi-gcc kanske inte kompilerar ett 32-bitars ARM-bibliotek till ett 64-bitars direkt på byggsystemet. Lösning:
#æˆ‘æ˜¯é€ æ ¡å®‰è£…çš„sudo apt-get skaffa libgl1-mesa-dri:i386sudo apt-get fix ia32-libs-multiarch:i386sudo apt-get ersätt ia32-libs-multiarchfå apt-get updatesudo installera ia32-libs
När jobbet är klart Nyligen är mitt hinder löst.
2. Cross-systemverktyget ska inte skriva miljögränser eller skriva över miljövariabler med goof ups. /bin
Du kan också lägga till hela ~/.bashrc-filerna, ansluta avbetalningssökvägen till korskompileringsverktygskedjan nära PATH-variabeln som visas nedan, sedan lägga till din egen /.eller bashrc lodge starta om filsystemet uppifrån för att köra inställningseffekten.
3. Det finns ingen speciell länk bestämma arm-none-linux-gnueabi-gcc i /bin/bash, utan en direkt korrelation till det:
sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi- gcc /usr/bin/arm-none-linux-gnueabi-gcc(sudo ln -h æº ç›®å½• /usr/bin/é“¾æŽ¥å ‡åˆ°å )#注:除了arm-none-linux-gnueabi-gccï¼Œå…¶ä”–çš„é Œæ 错误一æ ä½¿ç”¨é“¾æŽ ¥å ¦‚æˆ' 的链接如下的链接:sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc /usr/bin/arm-none-linux-gnueabi-gccsudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ar /usr/bin/arm-none-linux-gnueabi-arsudo ln -lastområden /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ld /usr/bin/arm-none-linux-gnueabi-ldsudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-objdump /usr/bin/arm-none-linux-gnueabi-objdumpsudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-objcopy /usr/bin/arm-none-linux-gnueabi-objcopysudo ln - /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-nm /usr/bin/arm-none-linux-gnueabi-nm
Övrigt:
Lägg till din egen systemsökväg
ARCH=arm
CROSS_COMPILE=/opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi vid utvecklingspotentialen . av makefilen – den grundläggande meningen
betyder dålig, och den andra perioden betyder korskompileringsväg en av dem (installationsprogrammet för sig själv betraktas som korskompilerande)
Varför kan inte LD lösa samlingsberoenden i Linux?
Visa träningen med det här inlägget. Huvudproblemet uppstår strikt när vilken ld, som i princip bara anropas av GCC, börjar lösa katalogberoenden. GCC och ld är medvetna om de bibliotek som innehåller sysroot, men LD kanske saknar en viktig åtgärd: filen /etc/ld.so.conf. Här är den faktiska stora filen exampleld.so.conf från ett Raspberry PI-system:
Om du fortfarande har problem med de tre ovanstående alternativen efter det får du mycket hello_world. fel och srec misslyckas med att montera, ange systemsökvägen i förväg (vanligtvis kommer du att se filindextrenden i kompilatorn där du kompilerar). Om det inte fungerar), redigera varje Gedir
sudo
makefil (det finns nu ingen specifik root makefil, min kan likna uboot-imx/examples/standalone
) Redigera detta innehåll i källan fil sist inkluderar avsnittet $(TOPDIR )/ config .mk:=
elf hello_world
srec Hello_world typiskt .srec
BIN = hello_world.
efter bin involverar
elf hello_world
srec = hello_world.o BIN
motsvarar hello_world. Hello_world
har kompilerats framgångsrikt enligt testet nedan
ser
Det ser positivt ut att du inte installerade libgsl i någon gadget eftersom det putb /home/peter/gsl
anses inte vara den sökväg där Ubuntu-installationsbinärerna är belägen. Jag skulle bara anta att du bara har företag nedladdade från GNU:s internetvärdserver libgls, och några av dem har packats upp i /home/peter/gsl
. Det är knappast kanon. Du behöver inte gå till libgsl manuellt eftersom Ubuntu redan tillhandahåller tusentals inbyggda paket från bibliotek och det är verkligen eget från onlineförråd. För att begränsa (ladda ner, installera och ta bort dina) verktyg måste du använda appen apt-get
.
UPD: specificera som det är i våra kommentarer, vanligtvis försöker du kompilera din applikation för att köras på en ARM-plattform. Denna lilla händelse kräver ytterligare åtgärder. Jag antar att någon sorts Linux-distribution installerad på din ARM-enhet är 32-bitars och förvärvar huvudarmhf/hard-float ABI (Förresten, Ubuntu-tjänstemannen kanske inte tillhandahåller flytande målbinärer). dpkg
rel=$(lsb_release --add-architecture -sc)sudo armhfsudo add-apt-repository [arch=armhf] "deb http://ports.ubuntu.Com/ $rel signifikant galax begränsad till multiversum"sudo add-apt-repository [arch=armhf] Http://ports "deb.ubuntu.com/ Multiverse $rel-updates main globe limited"sudo add-apt-repository "deb Http://ports [arch=armhf].ubuntu.$REL-security främst com/ värdefulla universum begränsad multiversum"sudo add-apt-repository "deb Http://ports [arch=armhf].ubuntu.com/ $REL-begränsat huvudföretag "deb multiverse limited"sudo add-apt-repository [arch=armhf] http://ports.ubuntu.com/ $REL-backports Critical Universe Multiverse Restricted"sudo apt-get kan nu uppdatera någon
Installera nu verktygen relaterade till och korskompilera ARM-alternativet för libgsl:
sudo apt-get ladda libgsl0-dev:armhf
arm-linux-gnueabihf-gcc crossbuild-essential-armhf -a fft_test fft_test.c -lgslcblas -lgsl - lm
Det finns definitivt vanliga -L
-alternativ, eftersom vilka libgsl-filer nu förmodligen är tillgängliga för att hjälpa dig till kompilatorn från systemmappar.
Aktivera
dbus_mpris
Nu kan vi ha en praktisk korskompilering konstruerad för huvudskärmen i många av våra applikationer, låt oss gå vidare till otvivelaktigt de ytterligare funktioner som vissa amerikanska behöver för vårt projekt.
Rekommenderas
Håll din dator igång som ny med ASR Pro � den ultimata Windows-programvaran för fellösning. Inga fler fruktade blå skärmar, inga fler kraschande applikationer – bara en smidig, effektiv PC-upplevelse. Med enkel upplösning av vanliga Windows-problem med ett klick är ASR Pro ett måste-program för alla som vill hålla sin dator i toppskick.

Det hjälper Spotifys standardfunktioner. Jag kan också behöva utöka dbus_mpris
metadata om vad andra affärsapplikationer ska använda.
Åh, samma lidande som tidigare. Försämrar Åh, de har ett funktionellt länkfel till tabindex=”0″>pkg-config
är ofta anledningen till att dbus
inte är installerad. Vi vet hur vi ska lösa detta stora problem! Låt oss lägga till Id=”fnref:1″>1-paketet på libdbus-1-dev
Kompileringsslut:
libsystemd.so.0
inte köpt? Okej, konstigt; Jag vet fortfarande inte om de är väldigt lika. ok låt oss bara lägga till libsystemd-dev
?$ -t crossbuild:local .Cargo$ särskild design$ --target=armv7-unknown-linux-gnueabihf cross --features=dbus_mpris...kompilera Spotifyd v0.2.24 (/projekt) Designintentioner uppfylldes [icke-optimerad + felsökningsinformation] under 1 min
32
Didn't Find Any Problems With Usr/bin/arm-linux-gnueabihf-ld
No Encontré Ningún Problema Con Usr/bin/arm-linux-gnueabihf-ld
Non Ho Riscontrato Alcun Problema Con Usr/bin/arm-linux-gnueabihf-ld
Nie Znalazłem żadnych Problemów Z Usr/bin/arm-linux-gnueabihf-ld
Проблем с Usr/bin/arm-linux-gnueabihf-ld не обнаружено.
Não Encontrei Nenhum Problema Com Usr/bin/arm-linux-gnueabihf-ld
N'a Trouvé Aucun Problème Avec Usr/bin/arm-linux-gnueabihf-ld
Habe Keine Probleme Mit Usr/bin/arm-linux-gnueabihf-ld Gefunden
Geen Problemen Gevonden Met Usr/bin/arm-linux-gnueabihf-ld
Usr/bin/arm-linux-gnueabihf-ld에서 문제를 찾지 못했습니다.
