代码之家  ›  专栏  ›  技术社区  ›  Kaliber64

对的未定义引用`WinMain@16”?

  •  1
  • Kaliber64  · 技术社区  · 14 年前

    我看了其他解决方案,但我不知道为什么它会这么说,因为我有一个主要的解决方案。 我尝试过将其构建为控制台应用程序和GUI应用程序。假设它是一个GUI应用程序(SDL)。 头文件中的任何位置都必须有主文件吗? 因为什么原因你会有一个主要的和主要的是没有找到。

    35个小时后,我终于认为这是最后一个错误。

    我的IDE是代码块,我的编译器是MinGW32。

    3 回复  |  直到 14 年前
        1
  •  4
  •   aib    14 年前

    使用 -lSDLmain 和 -mwindows 同时链接。

        2
  •  0
  •   Kaliber64    14 年前

    我把mingw32放在链接器的顶部,然后我就可以使用常规main了。 在我包括windows.h并获得所有额外的args后,我让winmain工作。 但我删除它是为了更简单。

        3
  •  -1
  •   Christian Stieber    14 年前

    WinMain是程序可能的入口点之一。

    我不熟悉Windows上的GCC或“代码块”。Microsoft链接器的/ENTRYPOINT链接器选项描述了可能的入口点: http://msdn.microsoft.com/en-us/library/f9t8842e%28v=vs.110%29

    正如您所看到的,“main”用于非unicode控制台应用程序,而WinMain用于非unicodeGUI应用程序。

    在Microsoft链接器上,/SUBSYSTEM选项用于决定您正在构建的应用程序类型。

    很有可能

    • 您必须为编译器执行/SUBSYSTEM之类的操作,或者
    • 你必须链接到某些编译器特定的库

    根据以上提示,也许你可以弄清楚该怎么办:-)