私はこのプロジェクトをコンパイルしようとしています:https://github.com/shaochuan/cmake-protobuf-example。私は正常にmsvc2015(x64)でprotobufをコンパイルしました。チェックプロジェクトはエラーなしで実行されます(すべての結果:合格)。Protobuf:message.pb.hファイルにインクルードファイルcommon.hを開くことができません
Protobuf_INCLUDE_DIR = C:/ TK /いるProtobuf-330/msvc2015_64 /インストール/含む Protobuf_LIBRARY_DEBUG = C:/ TK /いるProtobuf-330/msvc2015_64
Iが設けられ、すべてのパスをcmakeのプロジェクトを設定します/install/lib/libprotobufd.lib Protobuf_LITE_LIBRARY_DEBUG = C:/TK/protobuf-330/msvc2015_64/install/lib/libprotobuf-lited.lib Protobuf_PROTOC_EXECUTABLE = C:/ TK /いるProtobuf-330/msvc2015_64 /インストール/ binに/ protoc .exeの Protobuf_PROTOC_LIBRARY_DEBUG = C:/TK/protobuf-330/msvc2015_64/install/lib/libprotocd.lib Protobuf_SRC_ROOT_FOLDER = C:\ TK \ SRC \いるProtobuf-330 \ SRC
proto-projectはエラーなしでコンパイルされます。これにはmessage.ccとmessage.hファイルが含まれています。
INCLUDE(FindProtobuf)
FIND_PACKAGE(Protobuf REQUIRED)
INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})
PROTOBUF_GENERATE_CPP(PROTO_SRC PROTO_HEADER message.proto)
ADD_LIBRARY(proto ${PROTO_HEADER} ${PROTO_SRC})
私はCMakeLists.txtを以下の主なプロジェクトをコンパイルした場合::
"Cannot open include file: 'google/protobuf/stubs/common.h': No such file or directory" c:\tktest\protobuftest\src\proto\message.pb.h
を:
PROJECT(rpc)
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
ADD_SUBDIRECTORY(proto)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ADD_EXECUTABLE(main main.cpp)
TARGET_LINK_LIBRARIES(main proto ${PROTOBUF_LIBRARY})
を私はこれを構築する場合、エラーC1083が言って発生したCMakeLists.txtは次のようになります
ファイル内のエラー行は、
#include <google/protobuf/stubs/common.h>
です。
何が間違っているのかわかりません。いくつかのヒントは高く評価されます。 cmake + protobuf + visual studio 2015に関するいくつかの問題を知っていますか? ありがとうございます。
Macxxとユートピアのおかげです。プロジェクトのCMakeLists.txtの最後に提案された行を追加し、両方のプロジェクトのプロジェクトプロパティを「マルチスレッドデバッグ(/ MTd)」に変更しました。そして今、それは動作します。それでも問題が何かを把握することができました。どんな提案も大歓迎です。 – KabCode