以下は、共有ライブラリを使用して実行可能ファイルを生成する手順です。
私は3つのファイルを持っています:
ファイル libhello.c
/* hello.c - demonstrate library use. */ #include <stdio.h> void hello(void) { printf("Hello, library world./n"); }
ファイル libhello.h
/* hello.h - demonstrate library use. */ void hello(void);
ファイル main.c
/* main.c -- demonstrate direct use of the "hello" routine */ #include "hello.h" int main(void) { hello(); return 0; }
以下のコマンドを使用して、共有ライブラリを生成します。
gcc -g -Wall -fPIC -c hello.c -o hello.o gcc -shared -W,soname,-libhello.so.0 -o libhello.so.0.0.0 hello.o
最後に、ライブラリ パスを
LD_LIBRARY_PATH
変数に追加し、共有ライブラリを使用して実行可能ファイルの作成を試みます。export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ln -s libhello.so.0.0.0 libhello.so.0 gcc -g -Wall -c main.c -o main.o -I. gcc -o main main.o -lhello -L.
ただし、最後のステップでエラーが 1 つあります。-lhello が見つかりません。それで、どこが間違っているのですか?
ありがとう。