使用 Qt Creator 提升

Boost with Qt Creator

我试图在我用 QtCreator 制作的 C++ 项目中使用 boost/filesystem。 问题是在构建时出现以下错误:

"error: undefined reference to `boost::system::generic_category()'"

为了使用 boost,我执行了以下操作:

根本原因如下:需要构建文件系统。因此,我通过以下方式构建了这个提升库:

编译时,错误消失了。

感谢您的帮助。 加天

正如@drescherjm 评论的那样,您需要构建 boost 库。
它们 不是 D:/Development/Boost/libs 目录中。

您似乎正在使用 Windows 并且在您的 "D:" 驱动器上安装了 boost
我假设您使用 Qt Creator 附带的 MinGw 编译器,而不是 Visual Studio.

要使用 MinGw 构建 boost,首先打开相关的 Qt 命令提示符,例如Qt 5.12.3 (MinGW 7.3.0 64-bit) 并输入以下内容:

D:
cd \Development\Boost
bootstrap.bat gcc
b2 toolset=gcc link=shared threading=multi --build-type=complete stage

这将在您的目录中构建 MinGw boost 库:D:\Development\Boost\stage\lib
然后将link命令改为:

LIBS += -LD:/Development/Boost/stage/lib -l boost_system-mgw73-mt-x64-d-1_66

注意:boost_system 库的准确名称取决于 boost 在您的版本中如何命名它。
请参阅 Boost Getting Started on Windows: library naming. the answer here: 和您在 D:\Development\Boost\stage\lib 目录中构建的文件名。