编译指令:
···
cmake.exe -DCMAKE_PREFIX_PATH=“D:/github/libtorch/” -DCMAKE_TOOLCHAIN_FILE=“D:/vcpkg/scripts/buildsystems/vcpkg.cmake” …
···
错误日志:
Some (but not all) targets in this export set were already defined.
Targets Defined: protobuf::libprotobuf
Targets not yet defined: protobuf::libprotobuf-lite, protobuf::libprotoc,
protobuf::protoc
进行了多种尝试,最后发现是因为libtorch的cmake文件夹下定义了一部分protobuf的cmake文件,和vcpkg内的protobuf冲突。
暂时解决办法,将opensplat根目录下的CMakelist.txt文件里寻找libtorch和opencv包的命令顺序调换:
find_package(OpenCV CONFIG REQUIRED)
find_package(Torch REQUIRED)