[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 04/09 20:49 / Filesize : 134 KB / Number-of Response : 560
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Cygwin使っている人いますか? その21



23 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/04/03(火) 04:40:13.52 ]
PHPをビルドしたが、エクステンションをビルド時の静的組み込みではなく、
動的組み込みにしようとすると手間がかかる

手順は、
・普通にPHPをビルドする、PHPの関数がスタティックリンクされた10MBほどの実行ファイルができる
・Makefileの中のPHP_GLOBAL_OBJSで列挙されているOBJとmain/internal_functions.oを合わせて
cygphp5.dllを作る。
gcc -shared -o cygphp5.dll -Wl,--out-implib=libphp5.dll.a -Wl,--whole-archive (OBJファイルたくさん)
-Wl,--no-whole-archive (MakefileのEXTRA_LIBSを参照)
・MakefileのBUILD_CLI、BUILD_CGIを書き換え、PHP_GLOBAL_OBJSを含めないようにして、-lphp5を付け加え
上で作ったライブラリをリンクするようにする。
・exeファイルを消してmakeを再実行、cygphp5.dllを動的リンクする1MBほどのexeができあがる
・make installするがdllとインポートライブラリは手動でインストール先にコピーする

エクステンションを作るときはリンク時に-no-undefindオプションとLIBSに-lphp5の指定が必要
Cygwinのlibtoolは-no-undefindがないとdllを作ってくれない。LDFLAGSで指定するか要Makefile編集






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<134KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef