简短的问题

简短的问题

简短的问题

我尝试使用gcc -m32 -c file.c -o file.o -Llib -llibname命令将我的 32 位共享库(.so文件)链接到 32 位可执行文件。但似乎没有添加库。

长问题

我制作了 32 位内核,现在,我为我的内核制作了一个库,并且我想将我的库链接到我的内核。

我尝试使用gcc -m32 -nostdlib -nostdinc -fno-builtin -c kernel/kernel.c -o kernel/kernel.o -Llib -lkernel命令。但似乎没有添加库。

kernel/kernel.c是我的内核 C 文件,也是lib/libkernel.so我的库.so文件。我.so使用命令创建了我的文件gcc -m32 -nostdlib -nostdinc -fno-builtin -fPIC -shared lib/libkernel/printf.c -o lib/libkernel.so。)

答案1

我们必须创建静态库(例如ar rcs libname.a lib.o)并链接它(例如ld -melf_i386 -Llib -lname)。

相关内容