我正在用 C++ 为 BREW 平台创建应用程序。我正在使用 Visual Studio,并且在 Brew Simulator 项目上运行良好。但是编译ARM编译器时出现错误:
错误:L6218E:未定义符号 main(来自 kernel.o)
我做了一些研究,我发现了这个:
而且还是有这个错误。无论如何,我试图将虚拟 int main() 放在 AEEModGen.c 中。编译时没有错误,但应用程序当然不会启动。
一个虚拟的 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