CMakeを使用してprotobufライブラリをリンクできません。私CMakeListsはCMakeはGoogle Protobufで動作しません
cmake_minimum_required(VERSION 3.6)
project(addressbook)
set(CMAKE_CXX_STANDARD 11)
set(PROJECT_NAME addressbook)
ADD_SUBDIRECTORY(proto)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ADD_EXECUTABLE(main main.cpp)
TARGET_LINK_LIBRARIES(main proto ${PROTOBUF_LIBRARY})
で、プロトサブディレクトリに
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})
しかし、私のIDEはまだ
ような行のブーフを出力し、他のCMakeLists.txt( https://github.com/shaochuan/cmake-protobuf-exampleが、それはGitHubのレポで行われている方法)がありますCMakeFiles/main.dir/main.cpp.o:関数
main': /home/camille/ClionProjects/protobuf/main.cpp:42: undefined reference to
google :: protobuf :: internal :: VerifyVersion(int、int、char const *) ' /home/camille/ClionProjects/protob UF/main.cppに:49:未定義の参照 グーグルtutorial::AddressBook::AddressBook()' /home/camille/ClionProjects/protobuf/main.cpp:54: undefined reference to
へ::いるProtobuf ::メッセージ:: ParseFromIstream(STD ::はistream *「)
私のミスですか?私はそれをどのように機能させるのですか?