2

C++ で BREW プラットフォーム用のアプリケーションを作成しています。私は Visual Studio を使用しており、Brew Simulator プロジェクトでは正常に動作します。しかし、ARM コンパイラのコンパイル中にエラーが発生しました。

エラー: L6218E: 未定義のシンボル main (kernel.o から参照)

私はいくつかの調査を行いましたが、次のことがわかりました。

http://brew.wardco.com/rvct.html

そして、まだこのエラーがあります。とにかく AEEModGen.c にダミーの int main() を入れようとしました。コンパイル中にエラーはありませんが、もちろんアプリケーションは起動しません。

ダミーの main() は機能しません。これは、この RTL 機構をすべて引きずっているためであり、BREW 環境で正常に初期化することはできません。

自分の問題をどこから探し始めるのかわかりません。誰かこのケースを解決できますか?

AEEModGen.c に入れたコードは次のとおりです。

#ifndef AEE_SIMULATOR

#ifdef __cplusplus
extern "C"
{
#endif
    void * __aeabi_vec_ctor_nocookie_nodtor(    void* user_array,
                                               void* (*constructor)(void*),
                                               size_t element_size,
                                               size_t element_count) 

    {
        size_t ii = 0;
        char *ptr = (char*) (user_array);
        if ( constructor != NULL )
            for( ; ii != element_count ; ii++, ptr += element_size )
                constructor( ptr );
        return user_array;
    }
#ifdef __cplusplus
}
#endif
#endif
4

0 に答える 0