使用Qt Creator增强功能

问题描述 投票:2回答:1

我正在尝试使用QtCreator创建的C ++项目中使用boost / filesystem。当前的问题是编译时出现以下错误:

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

要使用增强,我已经执行了以下操作:

  • 下载boost库boost_1_73_0.7z文件
  • 将其解压缩到我的计算机中(在D:\ Development \ Boost下)
  • 。pro文件中,我添加了以下选项

    INCLUDEPATH + = D:/开发/提升

  • 在我的.cpp文件中,我添加了以下包含

    #include“ boost / filesystem.hpp”

  • 至此,在编译时,我在Qt Creator IDE中出现以下错误

    “错误:对`boost :: system :: generic_category()'的未定义引用”

  • FileSystem需要构建。因此,我通过:

    构建了这个增强库(通过跟随How do I build Boost 1.55 with MinGW?
    • 将gcc和g ++添加到路径变量(这很成功,因为我可以在命令提示符下调用'g ++'和gcc)。
    • 在我解压缩Boost的目录(D:\ Development \ Boost)中的命令提示符中执行以下命令:bootstrap gccenter image description here
    • 在我解压缩Boost的目录中的命令提示符中执行以下命令:b2 toolset = gcc文件系统enter image description here

编译时会出现错误。

感谢您的帮助。加蒂安

c++ boost qt-creator
1个回答
0
投票
要使用boost构建MinGw,请首先打开相关的Qt Command提示符,例如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

这将在您的目录boost中建立MinGw D:\Development\Boost\stage\lib库。然后将链接命令更改为:

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.答案:mingw-w64 cannot find -lboost_filesystem以及在D:\Development\Boost\stage\lib目录中构建的文件名。

© www.soinside.com 2019 - 2024. All rights reserved.