Использовать внешние библиотеки Lib / DLL в Qt Creator? - PullRequest
4 голосов
/ 04 октября 2010

Я решил после нескольких головных болей все утро, что использование Qt Creator для моего первого проекта Qt, вероятно, будет лучше, чем MSVC (было слишком много проблем при компиляции)..dll и .libs, которые мне нужны для внешних инструментов через Qt Creator.Я нашел этот пост Добавление внешней библиотеки в проект Qt Creator , что имеет смысл.

Мне нужно немного больше информации, например, такой как ... Сначала я связываю библиотеки dll или libs, что такоеСинтаксис для добавления dll к этапу сборки в qmake (я предполагаю, что он близок к win32: LIBS + = путь / к / Psapi.lib)

Спасибо!

1 Ответ

14 голосов
/ 05 октября 2010

Компиляция внешних библиотек с помощью QtCreator / gcc

Если у вас есть исходный код ваших библиотек, это файл .pro, из которого можно сделать внешнюю библиотеку (.dll и .a) или Framework (в Mac OS X):

TEMPLATE = lib

INCLUDEPATH = <your-include-paths>
HEADERS += <your-headers>
SOURCES += <your-sources>
TARGET = MyLib  /* The name of your libary */

/* Win32: To generate a MyLib.dll and libMyLib.a (gcc) or MyLib.lib (MSVC) file */
win32 {
    CONFIG += dll
}

/* Just in case you need to generate Mac Frameworks: */
macx {
    CONFIG += shared lib_bundle
    FRAMEWORK_HEADERS.version = Versions
    FRAMEWORK_HEADERS.files += <your library headers>
    /* Example:
    FRAMEWORK_HEADERS.files += /path/to/your/lib/MyLib.h
    */
    FRAMEWORK_HEADERS.path = Headers
    QMAKE_BUNDLE_DATA = FRAMEWORK_HEADERS
    VERSION = 0.5.0   // a framework version you can define
}

Добавление внешних библиотек в ваш проект QtCreator / gcc

/* your project settings */

/* If you compile on windows */
win32 {
    /* If you compile with QtCreator/gcc: */
    win32-g++:LIBS += /path/to/your/libMyLib.a

    /* IF you compile with MSVC: */
    win32-msvc:LIBS += /path/to/your/libMyLib.lib
}

/* If compile on Mac and want to link against a framework */
macx {
    LIBS+= -framework MyLib
    QMAKE_FLAGS += -F/path/to/MyLib
}

Обратите внимание, что для использования внешних библиотек с gcc необходим файл libMyLib.a, содержащий информацию о ссылках. libMyLib.lib генерируется MS Visual Studio и не может быть обработан gcc afaik!

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