簡體   English   中英

交叉編譯+ Cygwin +樹莓派

[英]cross compiling + cygwin + raspberry pi

我正在關注本教程: http : //www.a2p.it/wordpress/tech-stuff/development/remote-debugging-raspberrypi/

嘗試交叉編譯某些c ++代碼,但出現以下錯誤:

19:36:00 **** Incremental Build of configuration Debug for project test ****
make all 
Building file: ../src/test.cpp
Invoking: Cygwin C++ Compiler
arm-unknown-linux-gnueabi-g++ -IC:\Dev\cygwin64\opt\cross\x-tools\arm-unknown-linux-gnueabi\arm-unknown-linux-gnueabi\sysroot\usr\include -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/test.d" -MT"src/test.d" -o "src/test.o" "../src/test.cpp"
src/subdir.mk:18: recipe for target 'src/test.o' failed
make: *** [src/test.o] Error 127

19:36:01 Build Finished (took 120ms)

我正在使用64位cygwin,64位Eclipse和gnueabi-hardfp在這里找到: https : //github.com/IanLinsdell/Raspberrypi

有人知道這個錯誤是什么意思嗎?

更新:使用32位cygwin,我能夠克服上述錯誤,但是現在我遇到了以下鏈接器錯誤:

Building target: libtest
Invoking: Cross G++ Linker
arm-unknown-linux-gnueabi-g++ -L"C:\Dev\cygwin\opt\cross\x-tools\sysroot\usr\lib" -shared -o "libtest"  ./src/test.o   
/opt/cross/x-tools/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find crti.o: No such file or directory
/opt/cross/x-tools/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find -lstdc++
/opt/cross/x-tools/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find -lgcc_s
/opt/cross/x-tools/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find /lib/libc.so.6
/opt/cross/x-tools/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find /usr/lib/libc_nonshared.a
/opt/cross/x-tools/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.6.3/../../../../arm-unknown-linux-gnueabi/bin/ld: cannot find /lib/ld-linux.so.3
collect2: ld returned 1 exit status
makefile:45: recipe for target 'libtest' failed
make: *** [libtest] Error 1

我在目錄C:\\ Dev \\ cygwin \\ opt \\ cross \\ x-tools \\ sysroot \\ usr \\ lib中看到以上所有文件。 我在G ++ Linker Lib路徑設置中添加了該路徑,甚至將其添加到Cross Compiler PATH中。 是什么賦予了?

Cygwin通常使用/ cygdrive / c /而不是c:\\映射本地驅動器,因此這可能會有助於-L指令,該指令指定庫搜索路徑

另外,Unix系統使用正斜杠/代替,因此您的編譯行應如下所示: arm-unknown-linux-gnueabi-g++ -L"/cygdrive/c/Dev/cygwin\\opt/cross/x-tools/sysroot/usr/lib" -shared -o "libtest" ./src/test.o

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM