• 翻译QT使用手册:将库添加到项目


    将库添加到项目

    除了 Qt 库之外,您还可以将其他库添加到您的项目中。该过程取决于图书馆的类型和位置。您可以添加系统库、您自己的库或第三方库。该库可以位于当前项目的构建树中,也可以位于另一个构建树中。

     

    将库添加到项目

    除了 Qt 库之外,您还可以将其他库添加到您的项目中。该过程取决于图书馆的类型和位置。您可以添加系统库、您自己的库或第三方库。该库可以位于当前项目的构建树中,也可以位于另一个构建树中。

    因为系统库通常不会更改并且通常默认找到,所以在添加库时不需要指定库路径或包含库的路径。您可以pkg-config在编译期间用于查询系统库。

    对于您自己的库和第三方库,您需要指定路径。Qt Creator 尝试猜测外部库的包含路径,但您需要检查它并在必要时修改它。Qt Creator 自动添加内部库的包含路径。

    对于所有库,选择应用程序、库或插件的目标平台。

    指定库是静态链接还是动态链接。对于静态链接的内部库,Qt Creator在项目文件中添加依赖项(使用 CMake 时为 target_link_libraries 或使用qmake 时为PRE_TARGETDEPS )。

    根据开发平台的不同,Qt Creator 可能会自动检测某些选项。例如,在 macOS 上,它会自动检测库类型(LibraryFramework)并隐藏该选项。但是,如果您在 macOS 以外的其他平台上开发并希望为 macOS 构建项目,则必须指定库类型。

    Windows 上的默认约定是库的调试版本和发布版本具有相同的名称,但放在不同的子目录中,通常称为debugrelease。如果库路径不包含这些文件夹中的任何一个,则无法选择将库放在单独文件夹中的选项。

    或者,可以将字母d添加到调试版本的库名称中。例如,如果发布版本称为 example.lib,则调试版本称为 example.lib。您可以指定为调试版本添加该字母,为发布版本删除该字母。如果库名称以d结尾,请取消选择Remove "d" suffix for release version选项。

    一旦您的项目成功构建并链接到它们,Qt Creator 就支持添加库的代码完成和语法突出显示。

     

    添加库

    1. Projects视图中,右键单击项目名称以打开上下文菜单并选择Add Library
    2. 按照向导的说明进行操作。

    有关项目文件设置的更多信息,请参阅声明其他库

    添加内部库的示例

    将内部库添加到您的项目:

    1. 选择文件>新建项目>C++ 库
    2. 选择“选择”以打开“项目位置”对话框。
    3. 名称字段中,为库命名。例如,mylib
    4. 按照向导的说明进行操作,直到进入“项目管理”对话框。在作为子项目添加到项目列表中,选择一个项目。例如,我的应用程序
    5. Projects视图中,右键单击项目名称以打开上下文菜单并选择Add Library > Internal Library > Next
    6. Library字段中,选择mylib,然后选择Next
    7. 选择完成将库声明添加到项目文件中。

    使用 CMake 时,将target_link_libraries命令添加到 CMakeLists.txt 文件中:

    target_link_libraries(myapp PRIVATE mylib)

    使用 qmake 时,在 .pro 文件中添加以下库声明:

    1. win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/release/ -lmylib
    2. else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/debug/ -lmylib
    3. else:unix: LIBS += -L$$OUT_PWD/../../../projects/mylib/ -lmylib
    4. INCLUDEPATH += $$PWD/../../../projects/mylib
    5. DEPENDPATH += $$PWD/../../../projects/mylib
    6. win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/release/mylib.lib
    7. else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/debug/mylib.lib
    8. else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a

    声明,仅仅翻译,版权归QT官方。

  • 相关阅读:
    A brief Introduction to Continue Learning / Life long Learning
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    解决react样式组合时css module动态样式失效的问题
    第十四章 网络管理实战3
    redis
    [数据结构] 并查集
    初步了解android如何锁键
    Go 语言 iota 的神奇力量
    # 基于MongoDB实现商品管理系统(2)
    程序员的不惑之年:失业与恐惧
  • 原文地址:https://blog.csdn.net/thanklife/article/details/128093241