が含まれているヘッダーを含めましたnetdb.h
がgetaddrinfo
、gcc は次の警告を発行します。
warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
gcc -m32 -static -s -O2 -std=c99 -D_POSIX_C_SOURCE=200112L myprogram.c
不足しているファイルを静的にコンパイルするにはどうすればよいですか?
可能な解決策:
glibc のインストールに、静的コンパイルに必要な対応するオブジェクト ファイルがない可能性があります。その場合は、対応するオブジェクト ファイルを作成し、コンパイル時にリンクします。
glibc の代わりに EGLIBC を試してください。
私はプログラムをdietlibcで正常にコンパイルしました。これはエラーなしでコンパイルされ、結果のバイナリはglibcが作成するものよりもはるかに小さくなりました。