0

我们有一个用 c++ 编写的应用程序,现在我们正尝试在 ARM 板上使用相同的应用程序,我们为其提供了工具链。

所以当我做一个测试 c++ 项目时,它编译好并且目标上的代码完美执行。

由于我们还想使用目标的一些功能(例如显示,...),那部分是用于 C 的,标题是 C,库是 C。

因此,当我尝试包含 C 头文件时,我遇到了很多转换错误(例如,描述来自unsigned int' tostlv_type' 位置的无效转换:tlv_tags.h C/C++ 问题)

例如函数生成问题:

    static inline
    enum stlv_type _stlv_get_tag_type(unsigned int tag)
    {
        return STLV_GET_TYPE(tag);
    }

创建 C 项目时,这一切都没有问题,但 C++ 项目有数百个转换错误。

因此,我尝试将此标头包含在 extern "C" 块中,但没有任何成功,仍然存在同样的问题。

所以有人可以帮我把这个结合起来:) 因为不可能从制造商那里得到 c++,而且更改标题也不是一种选择,因为新的平台版本可能随时出现。

提前致谢!

4

0 回答 0