ソースコードからビルド / コンパイルする

この拡張機能をソースコードからコンパイルする際に、考慮すべき事項は以下です。

  • 拡張機能の名前は '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について、スラッシュ '/' ではなく、 バックスラッシュ '\\' を使うことを推奨します。

関連キーワード:  コンパイル, protobuf, 注意, 特有, 上書き, 環境, zendparse, 準備, zend, Dprotobuf