大家好。我正在创建一个“共享”库(在Windows上是DLL),它依赖于“Boost C ++”库的日期时间特性。我注意到我的Boost安装(通过Boostpro完成)在boost安装的lib目录中有一些DLL和LIB文件。我认为这些文件是必需的,所以我将它们添加到我的IDE库依赖项中。
现在我写使用Boost日期时间库的代码,创建共享库并从独立可执行文件中使用它。这样做可以工作,即使我只是将我创建的共享库复制到可执行文件夹中,而没有复制boost_date_time-vc100-mt-1_47.dll文件。奇怪的是,现在我从我的项目中移除了Boost的DLL /库依赖项并构建了共享库。然后,它仍然可以工作。
我有点困惑。如果Boost库真的只有头文件,那么为什么我的Boostpro安装有datetime和其他boost部分的*.lib和*.dll文件呢?如果那些boost库最终都编译到我的共享库中,那么是否有任何情况需要使用它们呢?
希望我的解释足够清晰,请让我知道是否需要更多的解释。此外,对于所有这一切,我都在使用Eclipse CDT + MingW。
现在我写使用Boost日期时间库的代码,创建共享库并从独立可执行文件中使用它。这样做可以工作,即使我只是将我创建的共享库复制到可执行文件夹中,而没有复制boost_date_time-vc100-mt-1_47.dll文件。奇怪的是,现在我从我的项目中移除了Boost的DLL /库依赖项并构建了共享库。然后,它仍然可以工作。
我有点困惑。如果Boost库真的只有头文件,那么为什么我的Boostpro安装有datetime和其他boost部分的*.lib和*.dll文件呢?如果那些boost库最终都编译到我的共享库中,那么是否有任何情况需要使用它们呢?
希望我的解释足够清晰,请让我知道是否需要更多的解释。此外,对于所有这一切,我都在使用Eclipse CDT + MingW。