Vpkg + gRpc не видит собственные хэдеры
Установленный vcpkg + gRpc
PS C:\Program Files\Microsoft Visual Studio\2022\Community\vcpkg> vcpkg list grpc
grpc:x64-windows 1.68.2 gRPC is a modern, open source, high-performance ...
grpc[codegen]:x64-windows Build code generator machinery
PS C:\Program Files\Microsoft Visual Studio\2022\Community\vcpkg> vcpkg list
abseil:x64-windows 20240722.0 Abseil is an open-source collection of C++ libra...
c-ares:x64-windows 1.34.3 A C library for asynchronous DNS requests
grpc:x64-windows 1.68.2 gRPC is a modern, open source, high-performance ...
grpc[codegen]:x64-windows Build code generator machinery
openssl:x64-windows 3.4.0 OpenSSL is an open source project that provides ...
protobuf:x64-windows 5.29.1 Google's language-neutral, platform-neutral, ext...
re2:x64-windows 2024-07-02 RE2 is a fast, safe, thread-friendly alternative...
utf8-range:x64-windows 5.29.1 Fast UTF-8 validation with Range algorithm (NEON...
vcpkg-cmake-config:x64-windows 2024-05-23
vcpkg-cmake-get-vars:x64-windows 2024-09-22
vcpkg-cmake:x64-windows 2024-04-23
zlib:x64-windows 1.3.1 A compression library
Пример CMake файла
cmake_minimum_required(VERSION 3.19)
project(server LANGUAGES CXX)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS Core Protobuf ProtobufTools Grpc GrpcTools)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(gRPC CONFIG REQUIRED)
find_package(Protobuf CONFIG REQUIRED)
find_package(Threads)
add_library(protoServer ${PROJECT_SOURCE_DIR}/proto/api.proto)
set_target_properties(protoServer PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_link_libraries(protoServer gRPC::grpc++)
protobuf_generate(TARGET protoServer LANGUAGE cpp OUT_VAR GENERATED_PROTO_FILES PROTOC_OUT_DIR ${PROJECT_SOURCE_DIR})
target_include_directories(protoServer PUBLIC ${GENERATED_PROTOBUF_DIR})
protobuf_generate(
TARGET protoServer
LANGUAGE grpc
GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc
PLUGIN "protoc-gen-grpc=\$<TARGET_FILE:gRPC::grpc_cpp_plugin>"
IMPORT_DIRS ${PROJECT_SOURCE_DIR}/proto
PROTO ${PROJECT_SOURCE_DIR}/proto/api.proto
PROTOC_OUT_DIR "${PROJECT_SOURCE_DIR}/proto")
qt_add_library(${PROJECT_NAME} SHARED
Server_global.h
server.cpp
server.h
)
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Protobuf
Qt${QT_VERSION_MAJOR}::Grpc
gRPC::grpc++
protoServer
)
target_compile_definitions(${PROJECT_NAME} PRIVATE SERVER_LIBRARY)
vcpkg.json
{
"dependencies": [
"grpc",
"protobuf"
]
}
При компиляции пишет ошибку, не может найти #include <grpcpp/grpcpp.h>. Если напрямую указать путь из vcpkg\installed\x64-windows\include\grpcpp - то уже сам заголовочный файл ругается что не может внутри себя найти #include <grpcpp/grpcpp.h>
Что не так? Что я упустил? Система Win11 VS 2022 Community