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.

[参考译文] 编译器:某些编译器标志在CGT和GCC之间不兼容

Guru**** 2595805 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/626032/compiler-some-compiler-flags-incompatible-between-cgt-and-gcc

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

您好,

让我们假设 多个体系结构的通用库:ARM (GCC)和C6x (CGT)。 库的维护人员希望提供pkg-config文件(pkg-config --获取编译/链接标志的工具)。pkg-config工具设计为在本地使用类似gcc的标志[1]。  遗憾的是,由于GCC和CGT [2]之间的不兼容性,无法为这两种体系结构提供统一的pkg-config文件,因为pkg-config将不会正确返回标志,也不会返回依赖于pkg-config行为的其他系统(例如基于cmake的构建系统)。

您建议如何解决此不兼容问题?

谨致问候,

Bartek

[1] pkg-config  --help中的引言

--libs-only-l 输出-l标志
--libs-only-other 输出其它滑槽(例如
-pthread)
--libs-only-L 输出-L标志
--CFLAGS 输出所有预处理器和
编译器标志
--CFLAGS-only-i 输出-i标志
--CFLAGS-only-other 不包括输出CFLAGS

[2]请参见下表,了解对本报告很重要的不兼容标志:

GCC CGT 备注
-L<路径> -I=<路径> 库搜索路径
-l<name> -l<fullname>

链接到库/档案/共享对象;

gcc guess库名称( lib<name>.so或lib<name>.a)

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

    [QUETE USER="Bartlomiej Kucharczyk"]您提议的解决此不兼容问题的方法是什么?[/QUET]

    不幸的是,没有一个。  对于C编译器的命令行界面,即构建选项,库名称等,没有行业标准 。鉴于此,TI编译器和GCC编译器在这些细节上有很大的不同也就不足为奇了。  它们是独立开发的,不考虑兼容性。

    尽管如此,我们也意识到这种情况。  我们通常会就像这样的问题进行内部讨论。  除此之外,目前没有什么要宣布的。

    谢谢,此致,

    -George

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

    感谢您的及时回复。

    您是否有任何关于何时会做出任何内部决策的估计?  

    此致,

    Bartek

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不会很快。 目前还没有计划就此问题制定计划。