1. ホーム
  2. c

[解決済み] gccコマンドラインを使用して.cファイルから.soファイルをビルドする。

2022-04-21 05:33:34

質問

Linuxのダイナミックライブラリ(.soファイル)用のhello worldプロジェクトを作成しようとしています。そこで、hello.cというファイルを持っています。

#include <stdio.h>
void hello()
{
    printf("Hello world!\n");
}

をエクスポートする .so ファイルを作成するには、どうすればよいですか? hello() コマンドラインから gcc を使用していますか?

解決方法は?

共有ライブラリを生成するには、まず、Cコードを -fPIC (位置独立コード)フラグを設定します。

gcc -c -fPIC hello.c -o hello.o

これでオブジェクトファイル(.o)が生成されるので、それを受け取って.soファイルを作成します。

gcc hello.o -shared -o libhello.so

EDIT : コメントからのご提案

を使用することができます。

gcc -shared -o libhello.so -fPIC hello.c

を使えば一度にできます。- ジョナサン・レフラー

を追加することをお勧めします。 -Wall ですべての警告を取得し -g を使用して、デバッグ情報を取得します。 gcc コマンドを使用します。- バジーレ・スターリンケヴィッチ