gpt4 book ai didi

CMake 查找从源代码编译的 protobuf

转载 作者:行者123 更新时间:2023-12-05 08:11:48 26 4
gpt4 key购买 nike

我正在尝试构建一个依赖于从源代码编译的 Google Protocol Buffers 的项目。我的项目应该是平台独立的,还应该支持交叉编译,这就是我更喜欢使用本地构建的 protobuf 的原因。但是,我不希望将整个库作为一个子项目包含在内,因为构建它会花费太多时间。

我简化的 CMakeLists.txt 是:

cmake_minimum_required(VERSION 3.5)
project(sample-protobuf)

# find a boost install with the libraries filesystem and system
find_package(Protobuf REQUIRED)

set(SOURCES
main.cpp
)

add_executable(sample
${SOURCES}
)
target_link_libraries(sample
PRIVATE
protobuf::libprotobuf
)

我在 Linux 上调用 CMake 作为:

cmake -DCMAKE_PREFIX_PATH=/path/to/built/protobuf/ ..

但它没有找到库,我收到以下消息:

  Could not find a package configuration file provided by "Protobuf" with any
of the following names:

ProtobufConfig.cmake
protobuf-config.cmake

Add the installation prefix of "Protobuf" to CMAKE_PREFIX_PATH or set
"Protobuf_DIR" to a directory containing one of the above files. If
"Protobuf" provides a separate development package or SDK, be sure it has
been installed.

在 Windows 上,此过程有效。我使用建议的方法在 Linux 上构建了库,该方法不是使用 CMake,而是使用 autotools。

我应该怎么做?

最佳答案

cd protobuf/cmake
mkdir build
cd build
cmake....
make...
sudo make install

关于CMake 查找从源代码编译的 protobuf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50239220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com