我正在尝试在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库。这是问题的详细说明。 ...