短い質問
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
:)。