【问题标题】:"Error LNK2001: unresolved external symbol _main" still exists“错误 LNK2001:未解析的外部符号 _main”仍然存在
【发布时间】:2019-01-06 01:44:12
【问题描述】:

我知道已经提出了类似的问题,但没有一个答案对我有帮助。

我收到此错误:

MSVCRT.lib(exe_main.obj):错误 LNK2001:无法解析的外部符号 _main

我正在使用 VS17。我创建了一个向导控制台应用程序和一个静态库。

我的 A.cpp 也是这样的

#include <iostream>
#include "A.h"

namespace img{
    int main(int argc, char* argv[]{
        ...
        return 0;
    }
}

我尝试按照许多人的建议更改项目的属性,但一切看起来都很好。

【问题讨论】:

  • 不要将 main 放在命名空间中。
  • 您不应该将 main 放在命名空间中,请参阅:stackoverflow.com/questions/3956678/main-in-namespace
  • 恕我直言,img::main() 没有任何问题,只是它没有为程序提供所需的入口点。您可以添加另一个函数int main(int argc, char **argv) { return img::main(argc, argv); } 来解决您的问题。

标签: c++ visual-studio lnk2001


【解决方案1】:

Main 需要根据转换定义在全局命名空间中。

【讨论】:

    猜你喜欢
    • 2012-10-28
    • 1970-01-01
    • 2012-05-03
    • 2014-09-27
    • 2018-08-14
    • 2018-08-24
    • 2020-08-21
    相关资源
    最近更新 更多