我想在Linux上运行我在Linux Ubuntu上开发的Windows上的QT项目。不幸的是,我无法管理它来正确链接增强库。这里是对问题的详细描述。未定义的引用来提升Windows上QT创建者的库
我从https://nuwen.net/mingw.html,13.5版本下载了MinGW,这样gcc版本5.3.0与MinGW版本的QT相匹配。选择这个版本的MinGW的原因是它包含用于压缩的boost库,如zlib。从命令行编译运行我的程序没有任何问题:
g ++ -std = C++ 11 -w -IC:/ MinGW/include -LC:/ MinGW/lib bAya.cpp Ao Bo Co - 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
当我建立它,我得到很多的不确定引用错误,如
错误:未定义的引用`提振::输入输出流:: zlib的:: DEFAULT_STRATEGY”
有趣的是,如果C:/ MinGW_53/MinGW的/ lib目录/ MYL ib也包含libstdC++。a我也得到std :: cout,std :: ifstream等链接错误。
我目前被卡住了,我会对任何反馈非常有帮助。
最佳, 康斯坦丁
您是否重新运行qmake? –
是的,从Build菜单我首先运行qmake,然后重建项目。仍然没有成功... – Konstantin
也许这是更多关于[标签:qt-creator]比那些其他标签。 –