スポンサーリンク

このドキュメントの内容は、以下の通りです。

FreeBSDで共有ライブラリ(shared library)を作るときに bsd.lib.mk が便利です。

Makefile


LIB=test
CFLAGS+=-Wall
SRCS=test.c
SHLIB_MAJOR=1
.include <bsd.lib.mk>

test.c

#include <stdio.h>

void test() {
	printf ("test\n");
}

test.h


#ifndef TEST_H
#define TEST_H

void test();

#endif /* TEST_H */

main.c


#include "test.h"

int
main (int argc, char *argv[])
{

	test ();

	return 0;
}

ライブラリのビルド


ここまでで、下記のファイルを用意します。
Makefile  main.c    test.c    test.h

ライブラリをビルドします。
make

下記のファイルが作成されました。
Makefile      libtest.so.1* test.So       test.o
libtest.a     libtest_p.a   test.c        test.po
libtest.so@   main.c        test.h

コンパイル


作成した共有ライブラリ libtest を使用したプログラムを作成します。
cc -ltest -L. -I. main.c

実行方法


カレントディレクトリのlibtest.soを読ませるために、LD_LIBRARY_PATHにカレントディレクトリを指定して、a.outのプログラムを実行します。
env LD_LIBRARY_PATH=. ./a.out

まとめ


bsd.lib.mkを使うことによって、簡単に .so のファイルを作成することが可能になりました。

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー