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.

[参考译文] AM2732:两片级联工程在导入外部库后,调用接口时报错

Guru**** 2546920 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1298238/am2732

器件型号:AM2732

外部库使用和工程相同的编译工具及参数,如下:

但是在调用API的时候会如下报错:

请问出现这种情况是还有哪些编译参数没有同步导致的吗?

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

    尊敬的 Currin:

    要将您的问题分配给专家、您能否提供更多信息:

    1.. 编译器工具和操作系统

    2.外部库或 API

    如果 API 使用不同属性进行编译、例如绝对允许对 RW 或 RO 静态数据进行寻址、则在项目仅允许 PC 相对寻址时将出错。 我不是编译器/连接器专家。

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

    尊敬的 QJ Wang:

    1.我使用的编译器工具是 ccs1250中的 ti-cgt-armllvm_3.2.0.LTS、而我的操作系统是 Windows10。

    2. 外部库或 API 是 我们定制的一些后端算法。 编译参数与 MMW 项目相同、如上图所示。

    感谢您的答复。

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

    嗨——默认情况下,用于这些构建属性的值与 tiarmclang 编译器支持的值是正确的;如果您的项目是为了预期 PC 相对寻址而构建的,那么您只会看到不兼容错误,如 QJ 所说。  如果使用"-fpic"构建项目以启用与位置无关的代码、但"-fpic"未包含在您提供的选项列表中、则会出现这种情况。  您是否可以仔细检查工程的编译、以确保"-fpic"从未包含在编译选项列表中?

    此外、如果从编译和链接步骤中删除"-flto"、您会看到相同的错误吗?

    谢谢!

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

    您好、Alan!

    我检查了编译参数、确实添加了-fpic 选项。 当我删除此选项时、程序编译成功并运行正常。

    谢谢!