首页 文章

在C中使用Windows API调用时VS中的链接器错误

提问于
浏览
-3

我试图掌握使用Windows API函数,但让它们正常工作证明是困难的 .

在VS2015中,每当我调用 MessageBox() 或类似的东西时,我的C代码当前都会产生链接器错误:

#include "stdafx.h"
#include <Windows.h>
#include <iostream>

using namespace System;

int main()
{
    Console::WriteLine(L"Hello World");
    MessageBox(NULL, L"Stuff", L"Things", MB_OK | MB_ICONEXCLAMATION);
    return 0;
}

我得到的错误是一个未解析的令牌和一个未解析的外部符号,消息中出现 MessageBoxW .

其中一条错误消息:错误LNK2028未解析的令牌(0A0004E9)"extern " C“int stdcall MessageBoxW(struct HWND *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z) referenced in function " extern "C" int cdecl MessageBox(struct HWND *,wchar_t const *,wchar_t const *,unsigned int)” (?@@消息框$$ J0YAHPAUHWND __ @@ PB_W1I @ Z)

1 回答

  • 0

    您不小心创建了一个.net项目,这意味着您不会使用Windows API,至少在没有对项目进行某些更改的情况下 . 您需要创建一个Win32项目,而不是.net项目 .

相关问题