基于MSVC

编译protobuf

参考链接:https://github.com/protocolbuffers/protobuf/blob/master/cmake/README.md

x64

  1. 执行以下代码

    1. cd /path/to/protobuf/vsprojects
    2. cmake -G "Visual Studio 15 2017 Win64" -Dprotobuf_MSVC_STATIC_RUNTIME=ON -Dprotobuf_BUILD_TESTS=OFF ../cmake
  2. 使用VS打开工程并生成解决方案,把Debug产物复制到/path/to/protobuf/vsprojects/x64/Debug下, 把Release产物复制到/path/to/protobuf/vsprojects/x64/Release下。

  3. 将/path/to/protobuf添加至Protobuf_SRC_ROOT_FOLDER环境变量

    x86

  4. 执行以下代码

    1. cd /path/to/protobuf/vsprojects
    2. cmake -G "Visual Studio 15 2017" -Dprotobuf_MSVC_STATIC_RUNTIME=ON -Dprotobuf_BUILD_TESTS=OFF ../cmake
  5. 使用VS打开工程并生成解决方案,把Debug产物复制到/path/to/protobuf/vsprojects/Debug下, 把Release产物复制到/path/to/protobuf/vsprojects/Release下。

  6. 将/path/to/protobuf添加至Protobuf_SRC_ROOT_FOLDER环境变量

    编译模型转换工具

    1. mkdir build
    2. cd build
    3. cmake -G "Ninja" -DMNN_BUILD_SHARED_LIBS=OFF -DMNN_BUILD_CONVERTER=ON -DCMAKE_BUILD_TYPE=Release -DMNN_WIN_RUNTIME_MT=ON ..
    4. ninja

编译产物

MNNConvert : 模型转换工具
MNNDump2Json : 将MNN模型文件打印为类json文件的工具

常见问题

  1. 如果报错说link error: can not writing MNNConvert.exe, cd到/path/to/MNN/tools/converter/build, 再运行下ninja就好了