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.

[参考译文] 编译器/AM3352:如何在 SNTP 库中进行链接

Guru**** 2589265 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/609730/compiler-am3352-how-to-link-in-the-sntp-library

器件型号:AM3352
Thread 中讨论的其他器件: SYSBIOS

工具/软件:TI C/C++编译器

我正在尝试将 SNTP 添加到我的项目中、但在构建链接器时、显示"SPP_START"是未解析的符号。  根据"示例用法"部分中的此链接、其中指出我必须添加库"ti/ndk/nettools/lib/sntp.lib"、然后添加"请注意、".lib"扩展名应替换为与您的应用所构建的目标匹配的扩展名。"。  我的目标是 AM3352 、它是 ARM Cortex-A8。  根据 TI 网络开发者套件(NDK) v2.25用户指南第1.3.3节、预编译库的正确文件扩展名为:

针对 Cortex-A8目标的.aea8fnv (ELF 格式、小端字节序、TI 编译器、使用基于硬件的矢量浮点支持、推荐在.aea8f 基础上使用)

在工程的 CCS 属性: ARM Linker->文件搜索路径中、我添加 了"${NDK_INSTALL_DIR}/packages/ti/ndk/nettools/lib/sntp.aea8fnv。  控制台窗口显示以下内容:

'建立目标:取款机- Exel-EDS.out'
'调用:ARM 链接器'
'flags:-mv7A8 -code_state=32 -me -O2 -opt_for_speed=2 -define=_HSCD_LIB_-define=building libcurl --define=debug_link_status -define=expert_config_IQF -define=ms_exclus_exclus-defination=mcus_exclus-cus-cus_exclus-cus-cus_exclus_ination=mcus-cus_exclus-cus_ination=inchinchinchinchinchines=-cus-cus_exclus-cus-inatifor_ines=ine_ine_inchines=mcus-cus-cus-cus-intratifor_ine-ine_ines=mcus-cus-cus-cus-inchinchinchinchines=ines=inchinatifor_express-cus-cus-cus-ce-/ti/ndk_2_25_01_11/packages/ti/ndk/nettools/lib/sntp.aea8fnv /ti/include /ti/lib

(笑声)

文件 C:/ti/ndk_2_25_01_11/packages/ti/ndk/nettools/lib/sntp.aea8fnv 确实位于正确的位置:

c\>dir C:\ti\ndk_2_25_01_11\packages/ti\ndk\nettools\lib\sntp.aea8fnv
驱动器 C 中的卷没有标签。

目录 C:\ti\ndk_2_25_01_11\packages/ti\ndk\nettools\lib

2017年4月17日上午10:19、256,942 Sntp.aea8fnv

我在这里错过了什么?

  

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

    我刚刚安装了2.25.01.11、库就在那里。 您能否重新安装并确认它是否存在。 该 lib 目录中应该有76个文件。

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

    Todd、

    正如我在原始帖子中所指出的、库文件(C:/ti/ndk_2_25_01_11/packages/ti/ndk/nettools/lib/sntp.aea8fnv)确实存在(请参阅我的'dir'输出)、并且它正在"包含"链接器库搜索(请参阅控制台输出)。

    Kevin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉。 我读取它的速度太快。 我已选中、符号位于文件中

    C:\ti\ndk_2_25_01_11\packages/ti\ndk\nettools\lib>c:\ti\ccs7_2_0_00006\ccsv7\tools\compiler\ti-cgt-arm_16.9.3.LTS \bin\armnm.exe ntp.a8fnv | findstr start
    00000000 t .text:SNTP 开始
    00000000 T SNTP 开始

    您有 reread_lib 标志、因此它不应是订购问题。

    在代码中添加了对 SNTP_START 的调用后、我能够将 SNTP 库添加到网络示例中。 我没有得到未解析的符号(在我添加库之前就在那里)。

    我将在这里查看是否有其他人看到过这种情况。 同时、是否可以附加存在问题的项目的导出版本(或者、如果需要保护公司 IP、则可以缩小版本)。

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

    我将从能够找到 SNTP_START 程序的 armnm 程序获得相同的输出

    C:\ti\ndk_2_25_01_11\packages/ti\ndk\nettools\lib>C:\ti\ccsv6\tools\compiler\ti-cgt-arm_5.2.5\bin\armnm.exe C:\ti\ndk_2_25_01_11\packages\ti\ndk\nettools\lib\dfetstr | snftps.v |开始

    00000000 t .text:SNTP 开始
    00000000 T SNTP 开始

    我发现了问题: 我已将 "${NDK_INSTALL_DIR}/packages/ti/ndk/nettools/lib/sntp.aea8fnv 添加到"Add

    库搜索路径"、而不是"将库文件或命令文件作为输入"。  当我将库的路径作为文件放入时、一切现在都很好。

    感谢你的帮助。

    Kevin