This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PHYTC-3P-KIT-AM64:在 CCS 中使用外部库

Guru**** 2487425 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1437920/phytc-3p-kit-am64-using-external-library-in-ccs

器件型号:PHYTC-3P-KIT-AM64

工具与软件:

专家们、您好!

我想在以 A53内核运行的其中一个 CCS 项目中使用 FreeType C 库。 使用 CMake 编译库后会生成.lib 文件。 但是、将该文件链接到项目无法正常工作。  
如果有任何帮助、将不胜感激。

此致!

Akash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akash:

    该项目适用于 Linux 还是 FreeRTOS?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    感谢您的答复。 目前、我在 FreeRTOS 项目中使用该工具、稍后我还将其用于 Linux 项目。
    目前、优先级是 FreeRTOS。  

    BR、

    Akash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将把您的疑问发送给我们的 RTOS 专家、请他们进行评论。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Akash、

    Unknown 说:
    但将此文件链接到项目无法正常工作。  [报价]

    您如何将*。lib 链接到项目?

    您是否正确更新了项目属性中的路径和文件名?

    您遇到了什么错误? 请分享错误日志的屏幕截图。

    请参阅下图。

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tushar:

    感谢您的答复。 下面是使用 Cmake 生成 FreeType 库时的输出日志。  

    现在、我有  freetyped.lib  文件生成位置   FreeType-2.13.3\build\Debug  目录 以下是提及包含 CCS 项目路径的屏幕截图。

    在编译器中(添加.h 文件路径)

    在链接器中(添加.lib 文件路径)

    下面是用于变体安装的代码片段的一部分:

    #include
    #include FT_FreeType_H

    在 main 函数内部:

    TT_Engine 引擎;// FreeType 引擎的句柄
    TT_Error error;//可通过变量捕获错误代码


    //初始化 FreeType 引擎
    错误= TT_ANDBY Init_Free (&engine);
    错误= TT_ANDBY Init_Free (&engine);
    如果(错误){
    printf ("初始化 FreeType 引擎时出错:%ld\n"、错误);
    其他{
    printf ("FreeType 引擎已成功初始化。\n");
    }

    错误= TT_SN74( Done_Free 引擎);
    如果(错误){
    printf ("关闭 FreeType 引擎时出错:%ld\n"、错误);
    其他{
    printf ("FreeType 引擎成功关闭。\n");
    }

    以下是编译工程时的输出日志。

     

    此致!

    Akash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Akash、

    在上面的共享屏幕截图中、我可以看到您只将 lib 的路径添加到项目中。 您还需要指定要搜索哪个库。

    请参阅下面的屏幕截图。

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tushar:

    感谢您的答复。 现在、我 还添加了库名称。  

    但是、再次强调、构建工程时会出现一些错误。 这是输出日志。

    BR、
    Akash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Akash、  

    现在、上述错误与先前显示的错误不同(即找不到符号)。  

    现在出现错误是因为无法识别*。lib 文件格式。  

    能否确认您使用的是同一编译器生成库文件、还是使用了不同的编译器?

    此外、您还可以将库的名称更改为 freetype.debug.lib  并 尝试一次? 确保在原始位置以及 CCS 工程属性中更新名称。

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tushar:

    是的、建屋的过程跟我在这详细答复中所说的一样。

    现在、我有了  freetyped.lib  文件生成位置   FreeType-2.13.3\build\Debug  目录 下面是包含 CCS 项目路径的屏幕截图。

    按照您的建议在链接器属性中添加库名称后、会收到我上一次回复中提到的错误"无法识别文件格式"。

    现在、将库名称更改为" freetype.debug.lib "在目录以及属性中,我再次收到相同的错误"文件格式未被识别"

    另外一点:我不确定、但它是否与库的构建相关、因为 CCS 以 ARM 处理器的 A53内核为目标。 但我不知道在这种情况下、如果我们需要以不同的方式构建库、如何构建。  

    BR、

    Akash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akash:

    您能否说明用于生成 FreeType.lib 的编译器?

    是 GCC 编译器还是 TI-ARM-CLANG?

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tushar:

    我尚未在命令提示符处明确选择任何编译器。 但从 CmakeCache.txt 文件来看、似乎 使用了 MSVC (Microsoft Visual Studio 2019)来 配置 编译。 在这种系统开发方面、我的知识有限。 如果您需要更多信息、请告诉我。 我已经附上了 CmakeCache.txt 文件作为您的参考

    BR、

    Akash

    e2e.ti.com/.../CMakeCache.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akash:

    感谢您分享上述 CMake 文件。 我不太熟悉 Cmake 工具。  

    但对我来说、好像你没有使用 GCC ARM 编译器和链接器来构建 FreeType.lib 文件。 这就是链接时会出现文件格式错误的原因。

    请使用 GCC 编译器构建 FreeType.lib、您可以 使用现有 的 makefile 作为 MCU+SDK 中存在的参考来为 A53内核生成新的库。

    此致、

    Tushar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以 使用现有 makefile 作为 MCU+SDK 中的参考、以便为 A53内核生成新库。

    尊敬的 Tushar:

    您能否发送指向参考资料的链接? 最新版本的 FreeType lib 在不同的位置有许多.h 和.c 文件、因此在库 CCS 工程中添加.h 和.c 文件来手动编译是不切实际的。

    BR、

    Akash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akash:

    请发送指向参考文献的链接吗? [报价]

    请参阅 https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/makefile.am64x.a53.gcc-aarch64 、查看如何在 MCU+SDK 中为 A53内核生成驱动程序库。  

    最新版本的 FreeType lib 在不同的位置具有大量.h 和.c 文件、因此将.h 和.c 文件添加到库 CCS 项目中来手动编译是不切实际的。

    如您所见、有许多*。c 和*。h 文件用于创建 drivers.lib 文件、类似的方法是、您可以通过提供必要的*。c 和*。h 文件来尝试创建 FreeType lib。 我们无法支持自定义库文件生成、您需要自行解决问题。

    此致、

    Tushar

    [/quote]