この拡張モジュールをソースコードからコンパイルする際に、考慮すべき事項は以下です。
拡張モジュールの名前は 'mysql_xdevapi' です。
よって、 --enable-mysql-xdevapi
を使ってください。
Boost が必須です。 オプションで configure オプション --with-boost=DIR や MYSQL_XDEVAPI_BOOST_ROOT 環境変数が使えます。 boost のヘッダファイルのみが必須で、ライブラリファイルは必要ありません。
Google の Protocol Buffers (protobuf) が必須です。 オプションで configure オプション --with-protobuf=DIR や MYSQL_XDEVAPI_PROTOBUF_ROOT 環境変数が使えます。
protobuf ファイル (*.pb.cc/.h) を生成するのに
オプションで make protobufs
が使えますし、
生成された protobuf ファイルを削除するのに
make clean-protobufs
が使えます。
Windows 特有の protobuf に関する注意: 環境によっては、マルチスレッドに対応した DLL ランタイムが含まれる静的ライブラリが必要かもしれません。 これを準備するには、以下のオプションを使ってください: -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF
Google の Protocol Buffers / protocol コンパイラ (protoc) が必須です。 適切な 'protoc' コマンドが ビルド中に PATH が通った場所に置いておいてください。 このことは、Windows PHP SDK バッチスクリプトが この環境変数を上書きする可能性があるため特に重要です。
Bison は必須です。PATH が通った場所に置いておいてください。
Window 特有の bison に関する注意: PHP SDK と同梱されている bison を使うことを強く推奨します。 さもなければ、次のメッセージに似たエラーが出る可能性があります。 "zend_globals_macros.h(39): error C2375: 'zendparse': redefinition; different linkage Zend/zend_language_parser.h(214): note: see declaration of 'zendparse'" Windows PHP SDK バッチスクリプトが 環境変数を上書きする可能性があることにも注意してください。
Windows 特有の注意: 環境を準備するために、オフィシャルな Windows ビルドドキュメント (» 現行のSDK) を参照ください
全てのファイルpathについて、スラッシュ '/' ではなく、 バックスラッシュ '\\' を使うことを推奨します。