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.

[参考译文] 跨编译工程的无头编译- JVM 终止于 exitcode -1

Guru**** 2587345 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1062960/headless-build-for-cross-compile-project---jvm-terminated-with-exitcode--1

您好!

基于 CCS10 IDE 的编译工程的无头编译存在问题。

我想要了解的内容:

简单地说、我希望拥有可根据平台(Windows 和 Linux)编译的项目。 还需要从命令行构建它。

我现在拥有:


我有用于生产代码的单元测试项目。 一般来说,我的开发环境是 Windows,但我也需要在 CI/CD 过程中运行这些测试。
我们的 Jenkins 基于 Ubuntu。 因此我创建了新的交叉编译工程并为两台主机配置了该工程-编译配置名称是 windows 和 linux。

首先、我从 GUI 角度对其进行了测试、它在两个平台上都构建良好。

然后、我尝试从命令行构建它、我遇到了奇怪的问题。

也就是说、当我在 Linux 下启动无头编译时、不使用 erros 编译工程、但 JVM 以 exitcode -1退出。

它看起来像是在寻找路径上的 mingw32-gcc/mingw32-g++。 但是、MinGW 仅针对 Windows 编译配置进行配置。


下面是用于无头构建的命令:

sudo /opt/ti/ccs1040/ccs/eclipse/eclipse -nosplash -data . -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import "project_path" -cleanBuild "project_name/linux" -printErrorMarkers

从日志中、我可以看到构建完成、没有错误:


10:12:18构建完成。 0个错误、0个警告。 (花费了6s.749ms)

二进制文件是有效的、我可以正常运行它。

下面是我在添加-printErrorMarkers 后得到的结果


无头构建遇到错误
标记[开:/bokita_SanPin_FW_IT_TESTS、id:54、类型:org.eclipse.cdt.managedbuilder.core.scanner.discovery.problem、属性:[位置:项目属性、C++预处理器包括.../提供程序、[CDT 交叉内置编译器设置]选项、消息:程序"Crossmingw32-gcc"未在路径中找到、提供程序:org.eclipse.cdt、dcdt.g2、创建时间:16/21.dspinam.gdspin2:scinam.g2、创建时间:交叉编译器:交叉参考:10:交叉参考:交叉参考:交叉参考10g2
标记[开:/bokita_SanPin_FW_IT_TESTS、id:55、类型:org.eclipse.cdt.managedbuilder.core.scanner.discovery.problem、属性:[位置:项目属性、C++预处理器包含.../提供程序、[CDT 交叉编译器内置设置]选项、消息:在路径中找不到"Crossmingw32-g++"、提供程序:org.eclipse.cdt 交叉编译器设置:16/21.dspinc、创建时间:10:g2:crossming12:g2

以下是 JVM 错误:



我查看了 printErrorMarker 输出指向的位置、但没有看到任何对 MinGW 的引用。


您有什么想法、可能会出什么问题吗?

平路机、
MF

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

    您好!

    我假设您使用的是标准 Eclipse CDT Managed Makre 项目。 我们不会在 CCS 中正式支持这些类型的工程(未经测试)、尽管它应该起作用。 这听起来像是一些 CDT 问题。 如果您可以在项目中共享两个.*项目文件,我可以进一步调查。

    谢谢

    Ki