【问题标题】:Using only Boost.DateTime with errors on Windows在 Windows 上仅使用 Boost.DateTime 并出现错误
【发布时间】:2018-03-01 01:35:12
【问题描述】:

我正在使用b2.exe编译Boost.DateTime:

.\b2.exe install --with-date_time link=static runtime-link=static

它在C\:Downloads\boost_1_66_0 中创建bin.v2 目录,我将静态库libboost_date_time-vc141-mt-gd-x32-1_66.libbin.v2\libs\date_time\build\msvc-14.1\debug\link-static\threadapi-win32\threading-multi 复制到我的项目中

并将 C\:Downloads\boost_1_66_0\boost 中的所有标题复制到我的项目中

我尝试在错误中包含#include "boost/date_time.hpp"

error(active)   E1696   cannot open source file "boost/cstdint.hpp" ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\posix_time\posix_time_config.hpp  14
Error(active)   E1696   cannot open source file "boost/config/no_tr1/cmath.hpp" ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\posix_time\posix_time_config.hpp  15
Error(active)   E1696   cannot open source file "boost/cstdint.hpp" ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\time_duration.hpp 12
Error(active)   E1696   cannot open source file "boost/operators.hpp"   ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\time_duration.hpp 13
Error(active)   E1696   cannot open source file "boost/static_assert.hpp"   ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\time_duration.hpp 14
Error(active)   E0169   expected a declaration  ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\time_duration.hpp 289
Error(active)   E1696   cannot open source file "boost/cstdint.hpp" ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\time_resolution_traits.hpp    13
Error(active)   E0020   identifier "time_resolution_traits_adapted32_impl" is undefined ConsoleApplication1 c : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\include\boost\date_time\time_resolution_traits.hpp    135
Error   LNK1104 cannot open file 'libboost_date_time-vc141-mt-sgd-x32-1_66.lib' ConsoleApplication1 C : \Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\LINK  1

【问题讨论】:

  • 缺少的包含文件应该是不言自明的 - 这是对boost 的常见抱怨,它有很多相互依赖关系。至于丢失的库,您没有将其复制到链接路径上的某个位置。
  • 在我将所有标题从 boost 复制到我的项目后,仍然有问题
  • 定义#define BOOST_DATE_TIME_NO_LIB后编译成功

标签: c++ visual-studio boost


【解决方案1】:

define #define BOOST_DATE_TIME_NO_LIB 后编译成功

【讨论】:

  • 两年过去了,但你刚刚解决了 2 个小时的头痛问题。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 2012-06-05
  • 2015-04-02
  • 2015-02-01
  • 1970-01-01
相关资源
最近更新 更多