【发布时间】:2020-09-08 09:58:57
【问题描述】:
首先我知道有几个类似的帖子,但我还是要问。 Debian "Buster" 和 Boost 1.67 软件包中的 boost program_options::options_description 是否存在已知问题?
我的代码是在 Debian 7 中开发的,系统升级到 8.3,然后是 8.11,现在使用 Boost 1.55。
代码构建并运行。现在使用 Boost 1.67 将系统升级到 Debian Buster 并获取未解决的对 options_description(const std::string& , unsigned int, unsigned int) 引用以及其他几个 program_options 函数的链接错误。所有未解决的,除了 options_description,都来自 boost 调用另一个 boost 函数,所以甚至没有直接从我的代码中调用。 boost_program_options 在链接行中。 我不是新手,了解链接顺序,这与链接顺序无关。 我将尝试获取 boost 和构建的源代码,看看它是否有效,如果没有,我将从头开始构建一个系统并针对它进行测试。 由于这一切都在一个封闭的网络上,只是说尝试更新版本的 boost 或 Debian 不是一个选项,因为我有合同义务只使用 Debian "Buster" 和 Boost 1.67 作为最新版本,所以如果包不可用(更新) 在 Buster,这是不可能的,因为没有起草新合同并通过可能需要几个月的批准。
那么就这个问题而言,Buster 中的 Boost 开箱即用版本是否存在问题?
【问题讨论】:
-
尝试添加代码示例,但插入时不断出错。
-
仔细检查您的链接错误。我认为,在代码的某个地方应该有一些对旧版本的 boost 的引用。换句话说,您使用 boost 1.67 的新标头,但使用 1.55 的旧库。
-
旧库似乎已通过 apt-get purge libboost* 删除
-
检查您的链接错误。确保您有正确的引用来提升库。
-
确切错误是“未解决对 boost::program_options::options_description::options_description(const std::string&, unsigned int, unsigned int) 的引用”所有库都是 1.67.0
标签: c++11 boost debian-buster