C++ 如何在Windows中配置Qt Creator以使用Boost

C++ 如何在Windows中配置Qt Creator以使用Boost,c++,qt,boost,C++,Qt,Boost,我在Ubuntu中创建了一个Qt项目,一切都很顺利。但是,我还需要在Windows上部署它。它使用Boost库(最大的问题) 我已经找了几个小时想找到一个解决办法,但运气不好。我尝试安装Boost库并将其与mingw链接;我想我错过了什么。以下是我所做的工作和下载的最新版本: 1) 已运行。\bootstrap 2) 然后。\b2--prefix=C:\boost安装 遗憾的是,安装不正确。我只有2个文件夹(bin和share),但没有标题 然而,在这里()我找到了一个包(Mingw+Boost

我在Ubuntu中创建了一个Qt项目,一切都很顺利。但是,我还需要在Windows上部署它。它使用Boost库(最大的问题)

我已经找了几个小时想找到一个解决办法,但运气不好。我尝试安装Boost库并将其与mingw链接;我想我错过了什么。以下是我所做的工作和下载的最新版本:

1) 已运行。\bootstrap
2) 然后。\b2--prefix=C:\boost安装

遗憾的是,安装不正确。我只有2个文件夹(bin和share),但没有标题

然而,在这里()我找到了一个包(Mingw+Boost和其他库)。这有我需要的一切

现在我认为问题是.pro文件,因为我有很多未定义的引用。这是一个.pro文件,其中包含了我尝试过的所有内容(一些评论):


谢谢你的帮助

building boost不会放置头,头是为开发人员创建新代码时准备的。安装的dir是用于分发的二进制文件


这将安装在运行时(而不是编译时)使用的库。因为你将这个bin文件夹添加到你的路径中,这就是为什么在使用boost运行应用程序构建时,它会运行,并且不会说“找不到xxx.dll”

我自己解决了这个问题。下面是我是怎么做到的。首先,需要使用与Qt相同的编译器编译boost库
如果您使用的是msvc,那么您是幸运的,因为Boost人员帮了您一个忙并为您编译了库。您可以在此处下载:。
如果您使用的是mingw(它与Qt捆绑在一起),您可以执行以下操作:

  • 将mingw编译器添加到Windows路径变量:
    ~进入控制面板并搜索系统;
    ~通过添加“;”将mingw的路径(例如C:\Qt\Tools\mingw\bin)添加到路径变量中到您的路径(例如:“C:\Qt\Tools\mingw\bin”)
  • 编译Boost库:
    解压缩boost归档文件
    打开一个命令行窗口,进入解压缩的boost文件夹,然后进入tools/build/v2/engine文件夹
    ~您已经使用mingw工具集生成了安装程序:。\build--toolset=mingw
    ~这将在bin.ntx86或类似文件夹中创建2个文件;复制解压boost文件夹中的bjam和b2文件;
    ~现在进入boost文件夹并开始构建它:。\b2--toolset=mingw--build type=complete stage(有很好的教程可以将它与eclipse一起安装:)
    注意:这需要几个小时,所以你可能想同时看一部电影或做任何你想做的事情。但是,您可以选择通过在build命令中添加另一个参数来加快速度:-jn,其中N是处理器的内核数
  • 构建完成后,现在可以在Qt中链接库。为此,您需要修改.pro文件。首先,您必须告诉Qt头位于何处,并通过添加以下内容来实现:
    INCLUDEPATH+=指向\u boost\u文件夹的路径,例如:INCLUDEPATH+=C:/boost\u 1\u 54\u 0
    ~另外,如果您使用的库需要链接,例如系统和文件系统,则必须分别链接它们:
    LIBS+=“C:/boost_1_54_0/stage/lib/libboost_filesystem-mgw48-1_54.a”,
    LIBS+=“C:/boost_1_54_0/stage/lib/libboost_system-mgw48-1_54.a”
  • 修改.pro文件后,运行qmake,然后重新生成
希望这对你也有用

更新:文件夹层次结构已更改。构建库时,应阅读与每个版本和版本相关的文档。 从根文件夹构建库更容易():


几条错误信息就好了。你能确认你的boost lib是C:/MinGW/lib吗?我的错,这里有一些错误:;这是路径C:\MinGW\lib:我只看到了。一个boost libs。.pro文件中没有任何内容表明您进行了静态构建。这个文件夹中也有boost.dll文件吗?只有.a boost libs。我现在尝试了静态配置,但没有改变任何东西。我只想部署它,不管是静态构建还是动态构建。你能帮我进一步吗?
C:\boost_1_60_0> bootstrap.bat mingw  
C:\boost_1_60_0> .\b2 --toolset=gcc -j N --build-type=complete