0

C++ で記述されたアプリケーションがあり、ツールチェーンが提供された ARM ボードで同じアプリケーションを使用しようとしています。

したがって、テスト用の C++ プロジェクトを実行すると、正常にコンパイルされ、ターゲット上のコードが完全に実行されます。

ターゲットの機能の一部 (表示など) も使用したいので、その部分は C 用で、ヘッダーは C、ライブラリは C です。

そのため、C ヘッダーをインクルードしようとすると、多くの変換エラーが発生しました (例unsigned int' to: stlv_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