Windows上QT Creator中未定义的引用来增强Boost库

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

我正在尝试在Linux Ubuntu上开发的Windows上运行QT项目。不幸的是,我无法管理它以正确链接Boost库。这是问题的详细说明。

我从https://nuwen.net/mingw.html的13.5版下载了MinGW,以便gcc版本5.3.0与QT的MinGW版本匹配。选择此版本的MinGW的原因是它包含用于压缩的增强库,例如zlib。从命令行,我可以编译并运行程序,没有任何问题:

g ++ -std = c ++ 11 -w -IC:/ MinGW / include -LC:/ MinGW / lib bAya.cpp A.o B.o C.o -o baya -lboost_iostreams -lz -lbz2

其中A,B,C是我的预编译目标文件。

在QT创建者中,我选择了MinGW编译器(C:\ MinGW_53 \ MinGW \ bin \ g ++。exe),并使用该编译器创建了一个新的默认工具包。

我的.pro文件如下:

MAKE_CXXFLAGS += -std=c++11

INCLUDEPATH += C:/MinGW_53/MinGW/include \
C:/Users/kuzk/Documents/src

LIBS += -LC:/MinGW_53/MinGW/lib/mylib \
-lboost_system \
-lboost_iostreams \
-lz \
-lbz2

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

SOURCES += main.cpp\
    mainwindow.cpp \
../src/A.cpp \
../src/B.cpp \
 ../src/C.cpp 

HEADERS  += mainwindow.h \
../src/A.h \
../src/B.h \
 ../src/C.h

文件夹C:/ MinGW_53 / MinGW / lib / mylib包含我的.a文件,例如libboost_iostreams.a

[构建时,出现许多未定义的参考错误,例如错误:对`boost :: iostreams :: zlib :: default_strategy'的未定义引用]]

有趣的是,如果C:/ MinGW_53 / MinGW / lib / mylib也包含libstdc ++。a,我也将链接错误链接到std :: cout,std :: ifstream等。

我目前处于困境,对于任何反馈我都会非常有帮助。

最好,康斯坦丁

我正在尝试在Linux Ubuntu上开发的Windows上运行QT项目。不幸的是,我无法管理它以正确链接Boost库。这是问题的详细说明。 ...

c++ windows qt boost mingw32
3个回答
© www.soinside.com 2019 - 2024. All rights reserved.