我正在尝试使用硬件制造商提供的工具链交叉编译uclinux。
当我运行make命令时,我得到一个我无法理解的错误:
yannick@ubuntu:~/uclinux-dist$ make
make -C tools/ucfront
make[1]: Entering directory `/home/yannick/uclinux-dist/tools/ucfront'
make[1]: `ucfront' is up to date.
make[1]: Leaving directory `/home/yannick/uclinux-dist/tools/ucfront
我在CygWin上用gcc-Linux4.1(交叉编译的CygWin)构建了我的RTAI模型源(由simulink生成),并成功地生成了ELF .ELF在Ubuntu上运行正常。
在Ubuntu上正确运行ELF之后,系统监视器中有四个进程具有相同的名称但不同的进程id。
但是如果我在Linux上用gcc构建我的源代码,它只生成一个进程,所以我认为可能不会调用fork()或exec()。
一个exec文件如何生成四个进程?
ps -elF显示:
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME C
我正在尝试用工具集构建zlib。作为构建过程的一部分,源文件应该被编译成带有arm-linux-gnu-eabi-gcc -c的对象,然后用libtool组合成一个归档文件,但是libtool失败了,并抱怨每个.o文件都传递给它is not an object file (not allowed in a library)。
经过检查,我发现arm-linux-gnu-eabi-gcc -c正在生成ELF文件,而不是对象文件,这是我以前从未见过的。当我将-c -v传递给编译器时,我可以看到链接器没有被调用。那么为什么是ELF格式呢?
然后,我尝试调用arm-linux-gnu-eabi-gcc
我正在做一个修改Linux内核的项目。我有一台桌面Linux机器,在上面构建内核没有任何问题。
然而,我要去旅行了,我想在路上工作。我只有一个MacBook。当我试图构建Linux内核时,它抱怨elf.h was not found。
我从网上下载了一个elf.h。现在它抱怨:NO ELF
我尝试从我的Linux桌面复制整个包含目录,并将其设置为/usr/include目录,但仍然收到像"u8" not declared这样的奇怪错误
在Mac上进行内核开发的标准方法是什么?我在同一台Mac上有一个运行Linux的虚拟机,它将用于测试修改后的内核。然而,我并不是真的想在它上面构
在我的Ubuntu18.04机器上,我使用qemu为ARM平台执行32位ELF文件,如下所示:
$ file bin
bin: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, BuildID[sha1]=5018caf41114f911f0a0fd09c4f9a0bb1191c87a, not stripped
$ qemu-arm bin
bin: error while loading shared li