How2dylib
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[How2Computing]]
-関連トピックス
//--[[Mac OS X の Xcodeでライブラリを作る:http://is.ocha....
--[[Windwos Visual Studio 2010 のC++で動的ライブラリ dll ...
--[[Windwos Visual Studio 2010 で静的ライブラリ lib を作...
--[[ccで作ったライブラリ(dylib)をJava (JNA) から使う(Mac ...
*Mac OS X の Xcodeで動的ライブラリ dylib を作る [#xfb23b69]
** Xcode 5 at Mavericks の場合 [#wf1975a6]
最初の選択画面がすこし変わっているが、あとは同じ手順。
http://is.ocha.ac.jp/~siio/gyazo/20140614113602.png
http://is.ocha.ac.jp/~siio/gyazo/20140614114206.png
** Xcode 3 の場合 [#t2fe904b]
以下の例はOSはSnow Leopard 10.6.6, xcodeは3.2.5です
//http://gyazo.com/219394bc2a3cb2387fc62b5d5e5060e2.png
http://gyazo.com/2c19e1dc7f9761555edd694ad47ce3d1.png
** Xcode で dylib を作る [#rf885dbe]
Xcodeのメニュー、「ファイル」「新規プロジェクト...」からB...
http://gyazo.com/f994e6d63062a540779bbcccbc500e60.png
(ここでTypeをStaticにしておくと静的ライブラリが作れるの...
プロジェクト名は、ここではとりあえずmydylibにしておく。
Sourceを選択して(中身は空)、「ファイル」「新規ファイル....
http://gyazo.com/8cc13d5d00f188edbb95134960d7b766.png
Cのファイル名は、ここではとりあえずmyfunction.c にしてお...
ここに、
int myAdd(int a, int b) {
return a+b;
}
という関数を書いてみる。これをビルドすると、mydylib/build...
というファイルが出来上がる。
必要ならば、「プロジェクト」メニューの、
「アクティブアーキテクチャを設定」からプロセッサを選んだ...
「アクティブなビルド構成を設定」からdebugでなくreleaseを...
また「アクティブなターゲットxxxxを編集」では、インストー...
出来上がったファイルは、
sudo mv ibmydylib.dylib /usr/local/lib/.
に移動しておく必要がある。
次のコマンドで、出来上がったライブラリを確かめることがで...
$ lipo -info /usr/local/lib/libmydylib.dylib
Non-fat file: /usr/local/lib/libmydylib.dylib is archite...
**作ったdylibを使ってみる [#ma117ab9]
ここで作ったlibmydylib.dylibを他のCプログラムから使ってみ...
XcodeでCommand Line Toolのプロジェクトを作る。
http://gyazo.com/27801ab3b4e0b5426424198c54496f87.png
この中で、
int myAdd (int a, int b);
int main (int argc, const char * argv[]) {
printf("value is %d\n", myAdd(3, 5));
return 0;
}
というようなプログラムを書く。
また、libmydylib.dylibをドラッグアンドドロップなどして、...
(ここでは簡単にSourceグループに追加した)
http://gyazo.com/4ef158af3f643833a7acd583ff1193cd.png
これを動かすと、
run
[Switching to process 2114]
実行中...
value is 8
のような結果が得られる
**他の言語からの利用 [#x0a1979e]
以下のサイトによると、
こうして作った動的ライブラリは、REALbasicからも利用できる...
-[[Xcodeでのdylib作成と、REALbasicからの利用:http://blog....
*Mac OS X の Xcodeで静的ライブラリ a を作る [#oc509903]
staticを選択してみる。
http://gyazo.com/1905b415f5b019448728bb7d3c2569e3.png
ここでプロジェクトを、stalibと命名。
プロジェクトにCプログラムを追加して、そこにこんなプログラ...
int staticAdd(int a, int b) {
return a+b;
}
これをビルドすると、
できあがったライブラリファイルは拡張子が.a。
これも/usr/local/libにコピー。
情報を見ると以下のようになっている。
$ lipo -info /usr/local/lib/libstalib.a
input file /usr/local/lib/libstalib.a is not a fat file
Non-fat file: /usr/local/lib/libstalib.a is architecture...
これも同様に、以下のようにして、他のプログラムから利用出...
http://gyazo.com/fd9408ab2f740b9fd0aaf751e8e993e7.png
終了行:
[[How2Computing]]
-関連トピックス
//--[[Mac OS X の Xcodeでライブラリを作る:http://is.ocha....
--[[Windwos Visual Studio 2010 のC++で動的ライブラリ dll ...
--[[Windwos Visual Studio 2010 で静的ライブラリ lib を作...
--[[ccで作ったライブラリ(dylib)をJava (JNA) から使う(Mac ...
*Mac OS X の Xcodeで動的ライブラリ dylib を作る [#xfb23b69]
** Xcode 5 at Mavericks の場合 [#wf1975a6]
最初の選択画面がすこし変わっているが、あとは同じ手順。
http://is.ocha.ac.jp/~siio/gyazo/20140614113602.png
http://is.ocha.ac.jp/~siio/gyazo/20140614114206.png
** Xcode 3 の場合 [#t2fe904b]
以下の例はOSはSnow Leopard 10.6.6, xcodeは3.2.5です
//http://gyazo.com/219394bc2a3cb2387fc62b5d5e5060e2.png
http://gyazo.com/2c19e1dc7f9761555edd694ad47ce3d1.png
** Xcode で dylib を作る [#rf885dbe]
Xcodeのメニュー、「ファイル」「新規プロジェクト...」からB...
http://gyazo.com/f994e6d63062a540779bbcccbc500e60.png
(ここでTypeをStaticにしておくと静的ライブラリが作れるの...
プロジェクト名は、ここではとりあえずmydylibにしておく。
Sourceを選択して(中身は空)、「ファイル」「新規ファイル....
http://gyazo.com/8cc13d5d00f188edbb95134960d7b766.png
Cのファイル名は、ここではとりあえずmyfunction.c にしてお...
ここに、
int myAdd(int a, int b) {
return a+b;
}
という関数を書いてみる。これをビルドすると、mydylib/build...
というファイルが出来上がる。
必要ならば、「プロジェクト」メニューの、
「アクティブアーキテクチャを設定」からプロセッサを選んだ...
「アクティブなビルド構成を設定」からdebugでなくreleaseを...
また「アクティブなターゲットxxxxを編集」では、インストー...
出来上がったファイルは、
sudo mv ibmydylib.dylib /usr/local/lib/.
に移動しておく必要がある。
次のコマンドで、出来上がったライブラリを確かめることがで...
$ lipo -info /usr/local/lib/libmydylib.dylib
Non-fat file: /usr/local/lib/libmydylib.dylib is archite...
**作ったdylibを使ってみる [#ma117ab9]
ここで作ったlibmydylib.dylibを他のCプログラムから使ってみ...
XcodeでCommand Line Toolのプロジェクトを作る。
http://gyazo.com/27801ab3b4e0b5426424198c54496f87.png
この中で、
int myAdd (int a, int b);
int main (int argc, const char * argv[]) {
printf("value is %d\n", myAdd(3, 5));
return 0;
}
というようなプログラムを書く。
また、libmydylib.dylibをドラッグアンドドロップなどして、...
(ここでは簡単にSourceグループに追加した)
http://gyazo.com/4ef158af3f643833a7acd583ff1193cd.png
これを動かすと、
run
[Switching to process 2114]
実行中...
value is 8
のような結果が得られる
**他の言語からの利用 [#x0a1979e]
以下のサイトによると、
こうして作った動的ライブラリは、REALbasicからも利用できる...
-[[Xcodeでのdylib作成と、REALbasicからの利用:http://blog....
*Mac OS X の Xcodeで静的ライブラリ a を作る [#oc509903]
staticを選択してみる。
http://gyazo.com/1905b415f5b019448728bb7d3c2569e3.png
ここでプロジェクトを、stalibと命名。
プロジェクトにCプログラムを追加して、そこにこんなプログラ...
int staticAdd(int a, int b) {
return a+b;
}
これをビルドすると、
できあがったライブラリファイルは拡張子が.a。
これも/usr/local/libにコピー。
情報を見ると以下のようになっている。
$ lipo -info /usr/local/lib/libstalib.a
input file /usr/local/lib/libstalib.a is not a fat file
Non-fat file: /usr/local/lib/libstalib.a is architecture...
これも同様に、以下のようにして、他のプログラムから利用出...
http://gyazo.com/fd9408ab2f740b9fd0aaf751e8e993e7.png
ページ名: