visual studio 2012 - DHCP客户端API c++ MSDN示例

visual studio 2012 - DHCP client API C++ MSDN example

本文关键字:API c++ MSDN 示例 客户端 DHCP studio 2012 visual      更新时间:2023-10-16

下面是一个简单的DHCP客户端API示例,https://msdn.microsoft.com/en-us/library/windows/desktop/aa363345(v=vs.85).aspx

我在Visual Studio 2012中使用控制台应用程序c++工作,它在构建时失败:

1>------ Build started: Project: ConsoleApplication2, Configuration: Debug Win32 ------

1>MSVCRTD.lib(crtexew.obj):错误LNK2019:未解析的外部符号_WinMain@16在函数__tmaincrtstartup中引用

1>D:visual work placeConsoleApplication2DebugConsoleApplication2.exe:致命错误LNK1120: 1个未解决的外部

有谁知道怎么解决这个问题吗?由于

Google显示这个错误时,有很多点击。这里有一个.

你的C代码和你的VStudio项目类型不匹配。

你的应用程序的入口点可能是int main(int argc, char **argv)(这是它最常见的形式之一),在MS世界中,它对应于控制台应用程序

但是MS已经定义了其他的应用类型。其中之一是GUI(基于窗口的),它不需要控制台。对于这一点,MS将入口点定义为:int CALLBACK WinMain(_In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)。您可以在MSDN上找到更多详细信息。

在构建应用程序的可执行文件时,链接器必须知道应用程序的类型。这是由/SUBSYSTEM设置指定的。

当您根据您的选择创建(Visual c++ )项目时设置:

  • Win32控制台应用程序
  • 项目<<li> Win32/em>

我认为后者是默认的。

为了解决问题,您需要更改链接器设置以匹配您的代码(当然也可以采用其他方法,但那会更复杂)。为了做到这一点,在VStudio IDE中,转到项目属性 -> 链接器 -> System -> 子系统并将其从Windows (/SubSystem: Windows)更改为控制台(/子系统:控制台)