C++ 在Qt Creator中使用外部库/DLL?

C++ 在Qt Creator中使用外部库/DLL?,c++,qt,C++,Qt,经过一上午的头痛之后,我决定在我的第一个Qt项目中使用Qt-Creator可能比MSVC更好(编译时有太多问题) 我想知道如何通过Qt Creator添加我的外部工具所需的.dll和.libs。我发现这篇文章很有意义 不过我需要更多的信息,比如……我是先链接DLL还是libs,在qmake中将DLL添加到构建步骤的语法是什么(我假设它接近win32:libs+=path/to/Psapi.lib) 谢谢 使用QtCreator/gcc编译外部库 如果您拥有库的源代码,这是一个.pro文件,用于从

经过一上午的头痛之后,我决定在我的第一个Qt项目中使用Qt-Creator可能比MSVC更好(编译时有太多问题)

我想知道如何通过Qt Creator添加我的外部工具所需的.dll和.libs。我发现这篇文章很有意义

不过我需要更多的信息,比如……我是先链接DLL还是libs,在qmake中将DLL添加到构建步骤的语法是什么(我假设它接近win32:libs+=path/to/Psapi.lib)

谢谢

使用QtCreator/gcc编译外部库 如果您拥有库的源代码,这是一个.pro文件,用于从中生成外部库(.dll和.a)或框架(在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
}

请注意,要将外部库与
gcc
一起使用,需要包含链接信息的libMyLib.a文件。libMyLib.lib是由MS Visual Studio生成的,不能由gcc afaik处理

你什么意思?包含文件必须像往常一样包含在你的源代码中。对不起,你能给我指一个同样适用于Ubuntu的模板吗?
/* 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
}