Попытка связать с внешней библиотекой stati c. Но создатель QT компилирует исходные файлы внешней библиотеки - PullRequest
0 голосов
/ 06 марта 2020

Все это происходит в Ubuntu 18.04 с QT creator 4.5.2. Проект является проектом виджета QT. Я хочу дать ссылку на статически связанную библиотеку C ++, созданную в netbeans. Но когда я собираю, QT Creator не просто ссылается на библиотеку stati c, он компилирует файл в библиотеке (game. cpp) и генерирует следующую ошибку:

/ home / bobp040653 / Scrabble / Программирование / ScrabbleLib / Game. cpp: 9: ошибка: неопределенная ссылка на `ScrabbleLib :: Game :: TileBag :: tileValues ​​'

Я не понимаю этого совсем. Game.o является частью внешней статически связанной библиотеки. Он прекрасно компилируется под netbeans. Это потому, что библиотека libscrabblelib.a? Это тип библиотеки, который QT не понимает?

Вот копия файла .pro для моего проекта.

#-------------------------------------------------
#
# Project created by QtCreator 2020-03-03T10:32:12
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = TipTopQTW
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += \
        main.cpp \
        tiptop.cpp

HEADERS += \
        tiptop.h

FORMS += \
        tiptop.ui

unix:!macx: LIBS += -L$$PWD/../ScrabbleLib/dist/Debug/GNU-Linux/ -lscrabblelib

INCLUDEPATH += $$PWD/../ScrabbleLib
DEPENDPATH += $$PWD/../ScrabbleLib

unix:!macx: PRE_TARGETDEPS += $$PWD/../ScrabbleLib/dist/Debug/GNU-Linux/libscrabblelib.a

1 Ответ

0 голосов
/ 06 марта 2020

Вы добавили DEPENDPATH += $$PWD/../ScrabbleLib, который говорит Qt для компиляции файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...