问题标签 [winmain]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
54852 浏览

c - 未定义对“WinMain@16”collect2.exe 的引用:错误:ld 返回 1 退出状态

我正在使用 eclipse CDT 来测试 Intel 指令,下面是我的程序:

当我编译上面的代码时,我得到链接错误:

请帮我解决这个问题。

0 投票
1 回答
4766 浏览

c++ - LNK2019:函数 ___tmainCRTStartup 中引用的未解析外部符号 _WinMain@16

谷歌搜索了几个小时来解决这个错误,发现很多人都收到了这个错误,但还没有找到适合我自己的案例的解决方案。

Most of the time the solution is to change the SubSystem to the appropriate option in the solution's properties, either to Console or Windows. 但是我的设置为 windows,这在我的情况下是正确的。

当我创建这个解决方案时,我使用了 File > New > Project > Win32 Project > (selected) Windows application > (checked) Empty project

我的字符集设置为 Unicode,我认为这是默认设置。

这是我的代码,main.cpp:

和errorhelper.h:

如果还需要任何信息,请询问,

谢谢

0 投票
3 回答
986 浏览

c++ - system() 无提示,c++,winmain

我正在使用 c++,并且我有一个适用于 winmain 的程序。我不希望 system() 调用打开和关闭窗口。

例子:

我想使用系统调用,但我不希望它们打开一个新窗口。

提前致谢。

编辑:

我找到了这个解决方案:

要在不打开窗口的情况下执行 cmd 命令,我创建了一个 bat 文件(程序执行此操作),然后我使用以下代码:

ShellExecute(NULL, "open", "Directory_Of_Bat_File", NULL, NULL, 0);

这将打开 bat 文件并执行命令。我还注意到您不需要 system() 来删除 bat 文件,但您可以通过以下方式将其删除:

在 bat 文件中,这将在您执行 bat 文件时将其删除(它会自行删除)。这无需打开新窗口。

0 投票
1 回答
24792 浏览

c - 使用 SDL 时未定义对 WinMain@16 的引用

我在让一切正常工作时遇到了很多麻烦,以便我可以开始在 Windows 上进行开发,就像我在编码时通常使用的 Linux 一样。在尝试编译 SDL 程序时,我遇到了一个相当奇怪的问题。一旦我包含 SDL 库,程序就拒绝编译,给我这个错误:

我在控制台上使用 MinGW。

举个例子,使用

这编译得很好:

但是,只要我添加#include(即使没有调用任何 SDL 函数),我就会收到上面提到的错误

使用:

这无法编译:

任何帮助将不胜感激!我读到这对于忘记拥有主要功能的人来说是一个常见问题,但显然这不是我的问题。我还听说WinMain是处理Windows图形程序时使用的主要功能,但在我过去更多地使用Windows进行开发时,这对我来说从来都不是问题。

0 投票
2 回答
415 浏览

c++ - 对于 Windows 程序的调用约定,声明什么更好?

我读过一篇关于Calling convention(__stdcall、__fastcall、pascal、cdecl 等...)的文章

我想知道:为什么经常为 WinMain() 函数声明 __stdcall (WinAPI)?

正如我所读到的,使用__stdcall堆栈__fastcall进行操作,对寄存器进行操作,根本不使用堆栈。

所以,我试图. __fastcall编译器(Visual C++)给了我一个错误。

为什么我不能__fastcall用于 WinMain() 并且有可能使用它吗?

因为在不使用堆栈的情况下处理寄存器要快得多,不是吗?

PS我的建议是,有一些方法合同不允许我使用__fastcall,但这只是我的建议。

0 投票
1 回答
4629 浏览

c - 使用 MinGW 和 Sublime Text 设置 SDL2

当我在 C 文件中包含 SDL2/SDL.h 时,我不断收到错误“未定义对 WInMain@16 的引用”。这是一个带有 SDL 包含的简单“Hello”程序,如果我删除 SDL 包含,它编译得很好(如预期的那样)。

问题是我是 C(和 SDL)编译标志的新手,我不确定如何将文件链接(?)在一起(或者是否有必要)。我正在使用 Sublime Text 3 进行编码,所以我不确定如何像使用 IDE 时那样链接 SDL。

我通往 MinGW 和 SDL2 的路径是:

我用

编辑: 对我有用的是以完全相同的顺序使用这些标志

0 投票
1 回答
457 浏览

windows - 使用 GUI 创建 Windows 程序但使用“main()”(在 D 中)?

是否有可能在 Windows 中创建一个 GUI 程序,其入口点位于“main()”中?我该怎么做呢?

我的用途是我想要一个跨平台的应用程序,有一个统一的入口点。

0 投票
0 回答
19366 浏览

c++ - 未定义对 WinMain@16 C++ 的引用

我正在学习 C++,并且一直在 thenewboston.org 上观看教程。我正在尝试将类放在不同的文件中。在 Codeblocks 中编译时,我收到消息“未定义对 WinMain@16 的引用”。这是我的代码:

墨西哥卷饼.cpp

墨西哥卷饼.h

主文件

  • 所有文件都保存在同一目录中
  • 我正在使用 Windows 8 x64
  • 代码块最新版本
0 投票
1 回答
1506 浏览

c++ - C++、wxWidgets、TDM-GCC 编译器:驱动器 H:\? 中未定义对 WinMain 的引用

不是对 WinMain@16的未定义引用

我正在使用带有 TDM64 MinGW 编译器的 Code::Blocks 13.12。我正在尝试在这里编译一个基本的 wxWidgets 程序,复制并粘贴正确的标题和 .cpp 文件名:http ://wiki.wxwidgets.org/Adding_A_Control

我在 G: 的闪存驱动器上安装了 TDM。这是关于 H:\ 是 C:\ 的非编译版本的错误吗?

0 投票
3 回答
7430 浏览

c++ - 如何将 WinMain 设置为入口点?

我删除了_tmain()IDE 生成的方法,因为在添加条目后我发现有两个入口点毫无意义WinMain。是的,这是我的第一个 C++ 应用程序,我是新手,但请善待。

所以这就是我所得到的:

当我尝试构建和运行时,我收到此错误:

错误 LNK2019:未解析的外部符号 _main 在函数 ___tmainCRTStartup 中引用

错误 LNK1120:1 未解决的外部

我意识到缺少入口点,但是我可以在哪里设置WinMain入口点?我只是查看了项目本身的属性,没有发现任何东西。请注意,我已将项目作为控制台应用程序启动,但现在我正试图将其转换为常规 Windows 应用程序。

谢谢。