如何配置Qt Creator在Windows中使用Boost
How to configure Qt Creator to use Boost in Windows
我在Ubuntu中创建了一个Qt项目,一切都很顺利。但是,我也需要在Windows上部署它。它使用Boost库(最大的问题)。
我找了好几个小时才找到解决方案,但运气不好。我尝试安装Boost库并将其与mingw链接;我想我错过了什么。以下是我所做的并下载的最新版本:
1) 跑步。\引导程序
2) 那么。\b2--前缀=C:\boost安装
遗憾的是没有正确安装。我只有2个文件夹(垃圾箱和共享),但没有标题。
然而,在这里(http://nuwen.net/)我发现了一个捆绑包(Mingw+Boost和其他库)。这里有我需要的一切。
现在我认为问题是.pro文件,因为我有很多未定义的引用。这是.pro文件,里面有我尝试过的所有内容(一些人评论道):http://pastebin.com/pBFMTAd8
感谢您的帮助!
我自己解决了这个问题。我是这样做的。首先,它需要使用和Qt相同的编译器编译boost库
如果你正在使用msvc,那么你很幸运,因为Boost帮了你一个忙,为你编译了库。您可以在此处下载:http://sourceforge.net/projects/boost/files/boost-binaries/
如果你正在使用mingw(它确实与Qt捆绑在一起),你可以这样做:
- 将mingw编译器添加到Windows PATH变量中:
~转到控制面板并搜索"系统";
~通过追加";"将mingw的路径(例如C:\Qt\Tools\mingw\bin)添加到path变量中到您的路径(例如:";C:\Qt\Tools\mingw\bin") - 编译Boost库:
~解压缩boost存档
~打开命令行窗口,进入解压缩的boost文件夹,然后进入文件夹tools/build/v2/engine
~您已经使用mingw工具集构建了安装程序:。\build--工具集=mingw
~这将在文件夹bin.ntx86或类似文件中创建2个文件;复制解压缩的boost文件夹中的文件bjam和b2;
~现在进入boost文件夹并开始构建它:。\b2--toolset=mingw--buildtype=complete stage(有很好的教程可以将它与eclipse一起安装:http://theseekersquill.wordpress.com/2010/08/24/howto-boost-mingw/)
注意:这需要几个小时,所以你可能想看一部电影或做你想做的事情。然而,您可以选择通过在build命令中添加另一个参数来稍微加快速度:-j N,其中N是处理器的内核数量 - 构建完成后,您现在可以在Qt中链接库。要做到这一点,你需要修改.pro文件。首先,您必须告诉Qt标头的位置,并添加以下内容:
INCLUDEPATH+=path_to_boost_folder,例如:INCLUDEPATH+=C:/boost_1_54_0
~如果您使用需要链接的库,例如系统和文件系统,则必须分别链接它们:
LIBS+="C:\boost_1_54_0/stage/lib/libboost_filesystem-mgw48-1_54.a",
LIBS+="C:\boost_1_54_0/stage/lib/libboostrongystem-mgw48-1_54.a" - 修改.pro文件后,运行qmake,然后重新生成
希望这也适用于你!
更新:文件夹层次结构已更改。对于构建库,应该阅读与每个版本相关的文档以及Boost.Build的文档。从根文件夹构建库更容易(使用MinGW构建Boost 1.52):
C:boost_1_60_0> bootstrap.bat mingw
C:boost_1_60_0> .b2 --toolset=gcc -j N --build-type=complete
building boost不会放置头,头是为开发人员创建新代码时准备的。安装的目录是用于分发的二进制文件。
参见http://www.boost.org/doc/libs/1_54_0/more/getting_started/windows.html#prepare-使用增强型二元
这将安装在运行时(而不是编译时)使用的库。因为你将这个bin文件夹添加到你的路径中,这就是为什么当运行带有boost的应用程序构建时,它会运行,而不会说"找不到xxx.dll"
- 如何在 Linux for Windows 上通过 MinGW 构建静态 ICU 的 Boost
- CMake 在 Windows 上的自定义位置上找不到 Boost
- 在 Julia 中使用 boost 库和 Windows 上的 Cxx.jl
- Boost::process on Windows - with MinGW?
- 在 Windows 中使用 boost::p rogram_options 从命令行参数读取 Unicode 字符
- 在Windows 10上使用Visual Studio 2019的Boost 1.71.0库出现错误
- 在 Windows 10 上安装 Boost 时遇到问题
- Build Boost Regex for Windows VS2013
- boost::stacktrace on Windows MSVS 2017
- boost zlib filter 在 Windows 中不起作用
- 如何将Windows GUID转换为boost::uuid?
- C++ Boost:在Windows中对boost::system::generic_category()的未定义引用
- 无法在Windows中找到来自cmake的MySQL和Boost包含/库
- 在 Windows 上使用 Boost python3 和 numpy3 库时,VS2015 中LNK2019未解析的外
- 无法在 Windows 上使用英特尔编译器编译示例 boost::多精度
- 在 Windows 中使用 boost::asio 实现最佳缓冲区大小
- 仅使用boost.datetime在Windows上有错误
- Windows Boost 1.64 VS2017 missing Python libraries
- 静态链接再次链接boost.test和cmake在Windows上的mingw
- 在没有文件支持的情况下保留共享内存(Linux/Windows) (boost::interprocess)