2016-11-02 3 views
1

Я пытаюсь добавить Qscintilla с этим tutorial в мой проект Qt. Библиотека успешно установлена, но есть много неопределенных ссылки на классе (неопределенная ссылка на «QsciScintilla :: QsciScintilla (QWidget *)» или неопределенная ссылка на «QsciScintilla :: SetFont (QFont сопзИте &)», например)Добавить библиотеку Qscintilla в Qt Задачи

это мой файл .pro:

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = QscintillaTest 
TEMPLATE = app 


SOURCES += main.cpp\ 
    mainwindow.cpp 

HEADERS += mainwindow.h 

FORMS += mainwindow.ui 

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/./QScintilla/Qt4Qt5/release/ -lqscintilla2 
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./QScintilla/Qt4Qt5/debug/ -lqscintilla2 
else:unix: LIBS += -L$$PWD/./QScintilla/Qt4Qt5/ -lqscintilla2 
INCLUDEPATH += $$PWD/./QScintilla/Qt4Qt5/ 
DEPENDPATH += $$PWD/./QScintilla/Qt4Qt5/ 

Я надеюсь, что кто-то мне поможет.

EDIT: После добавления -lqscintilla2 я получаю эту ошибку:

Cannot find -lqscintilla2 

ответ

0

Ваш .pro файл отсутствует в этом:

LIBS += -lqscintilla2 

Это упоминается также в учебнике вы связаны с ...

-L Теперь у вас есть только добавление каталогов в путь поиска библиотеки, но он сам по себе не вызывает никаких новых библиотек t o быть добавлен. У вас в принципе никогда не было только -L, потому что это действительно не do ничего в покое (в обычной настройке инструментальной цепочки). Переключатель -l используется для указания фактической библиотеки для добавления в ссылку, а затем компоновщик выполняет поиск по пути библиотеки. Поэтому, если у вас есть библиотека в своем собственном каталоге, вам нужны оба переключателя.


После редактирования: Затем, если фактический файл библиотеки отсутствует, вы должны убедиться, что

  • Вы на самом деле построили.
  • Вы создали правильную версию отладки/выпуска или, возможно, и то, и другое.
  • Встроенная библиотека находится в ожидаемом каталоге, соответствующем тому, что у вас есть в приложении .pro.
+0

ммм, хорошо, я понимаю, как работа -L attribut но когда я добавить «-lqscintilla2» как учебник я получаю другую ошибку: «Невозможно открыть найти -lqscintilla2» –

+0

Ну, то, что вам нужно смотреть на фактическое link и каталоги, добавленные к нему с помощью '-L'. Включает ли это каталог, содержащий ваши 'qscintilla2.dll' или' libqscintilla2.so' (в зависимости от ОС)? – hyde

+0

Обычно вы не должны расширять/изменять вопрос после того, как кто-то ответил (потому что это недействительно ответ), но в этом случае не стесняйтесь и отредактируйте вопрос, чтобы обновить * .pro * файл с этим исправлением и затем укажите фактическую команду связи, которая дает ошибку (единственный текущий ответ - мой, и в этом случае я не буду возражать). – hyde

Смежные вопросы