Hi everyone, I was using VS2022 version 17.14.2.
However yesterday I was able to upgrade my VS2022 to version 17.14.3 and
after rebuilding everything the issue has gone.
I repeated the VS 2022 update and rebuild steps also on the other computers
I was using in order to make sure the issue was not related to a single
machine and I can confirm the issue is gone. Also the original application
is now building with VS2022 version 17.14.3.
Kind regards,
Guglielmo
Il giorno martedì 27 maggio 2025 alle 16:20:18 UTC+2 Guglielmo Frigerio ha
scritto:
> Hello everyone,
>
> I'm having issue while trying to build a minimal c++ grpc application
> using vcpkg as package manager and cmake to build the app.
>
> The issue happens during link with an unresolved external:
>
> grpc.lib(uri.cc.obj) : error LNK2019: unresolved external symbol
> __std_find_first_of_trivial_pos_1 referenced in function "unsigned __int64
> __cdecl std::_Find_first_of_pos_vectorized<char,char>(char const *
> const,unsigned __int64,char const * const,unsigned __int64)"
> (??$_Find_first_of_pos_vectorized@DD@std@@YA_KQEBD_K01@Z)
>
> It happens if I try to build a simple proto file.
>
> This is my cmakelists.txt:
>
> cmake_minimum_required(VERSION 3.22)
>
> project(it-dms-injection)
>
> set(CMAKE_CXX_STANDARD 23)
> set(CMAKE_CXX_STANDARD_REQUIRED True)
>
> if(MSVC)
> add_definitions(-D_WIN32_WINNT=0x0600)
> endif()
>
> find_package(Protobuf CONFIG REQUIRED)
> find_package(grpc CONFIG REQUIRED)
>
> add_executable(it-dms-injection
> proto/route_guide.proto
> main.cpp
> )
>
> target_include_directories(it-dms-injection PRIVATE
> ${CMAKE_CURRENT_BINARY_DIR})
>
> set(PROTO_FILES
> proto/route_guide.proto
> )
>
> protobuf_generate(
> TARGET it-dms-injection
> LANGUAGE cpp
> PROTOS ${PROTO_FILES}
> IMPORT_DIRS proto
> )
>
> # Custom command to generate gRPC sources
> foreach(proto ${PROTO_FILES})
> get_filename_component(proto_name ${proto} NAME_WE)
>
> set(grpc_src "${CMAKE_CURRENT_BINARY_DIR}/${proto_name}.grpc.pb.cc")
> set(grpc_hdr "${CMAKE_CURRENT_BINARY_DIR}/${proto_name}.grpc.pb.h")
>
> add_custom_command(
> OUTPUT ${grpc_src} ${grpc_hdr}
> COMMAND protobuf::protoc
> ARGS --grpc_out=${CMAKE_CURRENT_BINARY_DIR}
> --cpp_out=${CMAKE_CURRENT_BINARY_DIR}
> -I ${CMAKE_CURRENT_SOURCE_DIR}/proto
> --plugin=protoc-gen-grpc=$<TARGET_FILE:gRPC::grpc_cpp_plugin>
> ${CMAKE_CURRENT_SOURCE_DIR}/${proto} # FIXED LINE
> DEPENDS ${proto}
> )
>
> list(APPEND GRPC_SRCS ${grpc_src})
> list(APPEND GRPC_HDRS ${grpc_hdr})
> endforeach()
>
> target_sources(it-dms-injection PRIVATE ${GRPC_SRCS} ${GRPC_HDRS})
>
> target_link_libraries(it-dms-injection PRIVATE
> protobuf::libprotobuf
> gRPC::gpr
> gRPC::grpc
> gRPC::grpc++
> gRPC::grpc++_alts
> )
>
> and I'm using VS 2022 version 17.14.0.
>
> Does any of you is experiencing a similar issue?
>
> Thanks,
> Guglielmo
>
>
>
--
You received this message because you are subscribed to the Google Groups
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/grpc-io/780ad2df-5dd6-4b1d-aa67-53a7bc9929cdn%40googlegroups.com.