【发布时间】:2021-03-09 19:50:02
【问题描述】:
我正在使用 Boost 在 C++ 中构建一个客户端-服务器应用程序,我的一位同事正在 Ubuntu 中编写服务器代码,他正在使用 Boost.Serialization 但我无法运行它,因为它找不到那个库,除此之外,我还需要客户的图书馆。为了构建并将其链接到项目,他只创建了一个像这样的 CMAKE 文件:
cmake_minimum_required(VERSION 3.16)
project(RemoteBackup_Server)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "-pthread" )
add_executable(RemoteBackup_Server User.cpp main.cpp server.cpp server.h connection_handler.cpp connection_handler.h)
find_package(Boost REQUIRED COMPONENTS serialization filesystem)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(RemoteBackup_Server ${Boost_LIBRARIES})
它可以毫不费力地编译和链接库。
我正在使用 MacOS,我已经使用 Homebrew 安装了 Boost,并且我尝试按照 Boost 官方网站中的指南进行操作:https://www.boost.org/doc/libs/1_74_0/more/getting_started/unix-variants.html#prepare-to-use-a-boost-library-binary
但我没有bootstrap.sh 和b2(指南中提到的命令)来构建库,我在互联网上到处搜索,但仍然不知道如何继续。有什么帮助吗?
【问题讨论】:
-
说明中列出的第一个命令是
cd。你没有这个命令? -
我询问
cd的一个原因是因为我怀疑您的问题描述可能更准确。另一个原因是其他命令(bootstrap.sh和b2)是 Boost 安装的一部分...您到底尝试了什么,结果到底是什么? -
当然我有
cd,但我没有bootstrap.sh和b2,这让我认为也许 Homebrew 没有安装有关 Boost 的所有内容。我无法尝试任何东西,因为我无法继续使用该指南,而且我还没有找到其他合适的东西。 -
您说“当然”,但您的帖子可能会被阅读以提出其他建议。 在帖子本身中包含所有相关细节是很好的。这使得回答问题的人和其他有相同问题的人都更容易。 (想想看,你在网上到处搜索的时候,你是搜索“the commands it says”还是“bootstrap.sh”?下一个人会怎么做?如果找不到您的问题,请从您的经验中受益?)我冒昧地更新了您的问题。
-
说到搜索:Link errors using Homebrew's Boost::Log in OSX El Capitan。您可能不需要构建库。再说一次,这个答案已经超过 4 年了。
标签: c++ serialization boost