Protocol Buffers(C++)の導入方法

Protocol Buffers(C++)の導入の備忘録。

WindowsではVisual Studioを、MacではXcodeを使いました。

インストール

Windows

Windowsの場合、vcpkgを使う方法が簡単です。

vcpkgのインストール

PS> git clone https://github.com/Microsoft/vcpkg
PS> cd vcpkg
PS> .\bootstrap-vcpkg.bat

protobuf C++のインストール

PS> ./vcpkg install protobuf protobuf:x64-windows

vcpkgフォルダーの中のinstalledフォルダーにファイルが生成されます。

Mac

Macでは、Homebrewを使ってprotobufをインストールします。

Homebrewのインストール

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

protobufのインストール

$ brew install protobuf

$ protoc --version
libprotoc 3.5.1

Visual Studio(Windows)のプロジェクトの設定

ファイルの配置

vcpkgフォルダーの中のinstalledフォルダーに生成されたファイルがあります。

gitで関連するファイルをまとめて管理したいので、プロジェクトのフォルダー直下にlibディレクトリを作成し、以下のファイル・ディレクトリを配置します。

  • libprotobuf.lib
  • libprotobufd.lib
  • includeディレクトリ

以下のような構成になる。

プロジェクト/
  lib/
    google/
      protobuf/
        …
    libprotobuf.lib
    libprotobufd.lib

プロジェクトの設定

「プロジェクトのプロパティ」→「構成プロパティ」→「C/C+」→「全般」→「追加のインクルードディレクトリ」にincludeディレクトリを追加します。

$(LocalDebuggerWorkingDirectory)lib

「プロジェクトのプロパティ」→「構成プロパティ」→「リンカー」→「全般」→「追加のライブラリディレクトリ」にlibprotobuf.libを配置したディレクトリを追加します。

$(LocalDebuggerWorkingDirectory)lib\

「プロジェクトのプロパティ」→「構成」を「Release」にし、「構成プロパティ」→「リンカー」→「入力」→「追加の依存ファイル」にlibprotobuf.libを追加します。

libprotobuf.lib

「プロジェクトのプロパティ」→「構成」を「Debug」にし、「構成プロパティ」→「リンカー」→「入力」→「追加の依存ファイル」にlibprotobufd.libを追加します。

libprotobufd.lib

生成されるファイルは「libprotobuf.dll」に依存するため、exeが出力されるディレクトリに「libprotobuf.dll」を配置する必要があります。

Xcode(macOS)のプロジェクトの設定

ファイルの配置

「libprotobuf.a」をxcodeprojと同じフォルダーに配置します。

プロジェクトの設定

  • 「PROJECT」→「Search Paths」→「Header Search Paths」に「/usr/local/include」を追加する
  • 「TARGET」→「Library Search Paths」に「$(PROJECT_DIR)」を追加する
  • プロジェクトに「libprotobuf.a」を追加する

静的リンクになるので、依存するファイルはありません。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください