【问题标题】:How to solve this Linker error?如何解决此链接器错误?
【发布时间】:2014-01-10 21:23:55
【问题描述】:

我创建了一个以 OS_main 开头的程序,而不是 int main

OS_MAIN()
{
    // it is performing some function calls here
}

如果我运行我的程序:我收到链接器错误

LNK2019:在 function_tmainCRTStartup 中引用的未解析的外部 symbol_main。

如何解决这个错误??

我正在使用 Microsoft Visual Studio IDE。

【问题讨论】:

  • #define OS_MAIN() int main()

标签: c windows visual-studio-2010 operating-system main


【解决方案1】:

当找不到正在使用的函数或变量的定义时,会发生链接器错误。如果您在某处有此预处理器定义...

#define OS_MAIN main

...而你正在这样做...

int OS_MAIN(int argc, char *argv[])
{
    return 0;
}

...这很好,但是,如果您使用的是OS_MAIN 而不是main,那将无法正常工作。每个程序都需要一个main。这是每个程序开始的地方。

【讨论】:

  • 在操作系统任务的情况下:我需要一个 main 吗??
  • @user3127246 “操作系统任务”是什么意思?如果您正在编写操作系统,则需要从引导加载程序开始,而不是带有 C 运行时库的 C 程序。
猜你喜欢
  • 2011-10-17
  • 1970-01-01
  • 2021-04-24
  • 2010-11-01
  • 1970-01-01
  • 2010-10-31
  • 1970-01-01
  • 2016-01-09
相关资源
最近更新 更多