Я пытаюсь запустить проект QT в Windows, который я разработал на Linux Ubuntu. К сожалению, я не могу управлять им, чтобы правильно связать библиотеку boost. Вот подробное описание проблемы.Неопределенная ссылка на расширение библиотек в создателе QT в Windows
Я скачал MinGW от https://nuwen.net/mingw.html, версия 13.5, так что версия gcc версии 5.3.0 соответствует версии QG MinGW. Причина выбора этой версии 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/Библиотека/MyLib содержит мои .a файлы, такие как libboost_iostreams.a
Когда я построить его, Я получаю много неопределенных эталонные ошибки, такие как
ошибки: неопределенная ссылка на `повысить :: iostreams :: Zlib :: default_strategy»
Интересно, что если C:/MinGW_53/MinGW/Lib/MYL ib содержит также libstdC++. a Я также получаю ошибки привязки к std :: cout, std :: ifstream и т. д.
Я в настоящее время застрял, и я буду очень полезен для любой обратной связи.
Бест, Константин
Вы повторно запустили qmake? –
Да, из меню «Построение» я сначала запускаю qmake, а затем перестраиваю проект. Еще не успел ... – Konstantin
Возможно, это больше о [тег: qt-creator], чем те другие теги. –