8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Visual Studio Code '对“WinMain@16”未定义引用'

Nate 2月前

35 0

所以我正在尝试在 Visual Studio Code 中使用 c++ 创建一个 Windows 桌面应用程序并使用 MinGW 作为我的编译器。我在一个名为 src:#ifndef UNICODE#define UN... 的文件夹中有一个名为 test.cpp 的文件。

因此,我尝试在 Visual Studio Code 中使用 C++ 创建 Windows 桌面应用程序并使用 MinGW 作为编译器。我 test.cpp 文件夹中 src

#ifndef UNICODE
#define UNICODE
#endif 
#include <windows.h>

int wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR lpCmdLine, 
int nCmdShow){

  const wchar_t name[] = L"Test";

  WNDCLASS wc = {};
  //wc.lpfnWndProc = WindowProc;
  wc.hInstance = hInstance;
  wc.lpszClassName = name;

  RegisterClass(&wc);

  HWND hWnd = CreateWindowEx(
    0, 
    name, 
    L"Window", 
    WS_BORDER, 
    CW_USEDEFAULT, 
    CW_USEDEFAULT, 
    1200, 
    720, 
    0, 
    0, 
    hInstance, 
    0);

  if(hWnd == NULL){
    return 0;
  }

  ShowWindow(hWnd, nCmdShow);
}

但是当我编译时出现这个错误:

> Executing task: g++ -g test.cpp -o test.exe <

c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
The terminal process terminated with exit code: 1

.vscode 文件夹 还有一个 task.json 和一个 launch.json

任务.json

"version": "2.0.0",
"tasks": [
  {
    "label": "test",
    "type": "shell",
    "command": "g++",
    "options": {
      "cwd": "${workspaceFolder}/src"
    },
    "args": [
      "-g", "test.cpp", "-o", "test.exe"
    ],
    "group": {
      "kind": "build",
      "isDefault": true
    }
  }
]

启动.json

"version": "0.2.0",
  "configurations": [
  {
    "name": "(Windows) Launch",
    "type": "cppvsdbg",
    "request": "launch",
    "program": "${workspaceFolder}/src/test.exe",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}/src",
    "environment": [],
    "externalConsole": true,
    "preLaunchTask": "test"
  }
]

问题是,当我用 main 完成时, wWinMain 就会发生错误,我不知道如何修复它。如果有人能帮助我,我将不胜感激。

帖子版权声明 1、本帖标题:Visual Studio Code '对“WinMain@16”未定义引用'
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Nate在本站《c》版块原创发布, 转载请注明出处!
最新回复 (0)
  • WinMain@16 通常出现在您尝试编译某些不包含 main()/WinMain() 函数(程序的起始点)的文件时。就您而言,不包含包含该 main()/WinMain() 函数的源文件导致了您的麻烦。

返回
作者最近主题: