DHCP 客户端 API C++ MSDN 示例
DHCP client API C++ MSDN example
这里是 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) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>D:\visual work place\ConsoleApplication2\Debug\ConsoleApplication2.exe : fatal error LNK1120: 1 unresolved externals
有人知道怎么解决这个问题吗,谢谢
当Google-ing这个错误时有很多命中。 Here的一个。
您的 C 代码与您的 VStudio 项目类型不匹配。
您的应用程序的入口点可能是 int main(int argc, char **argv)
(这是其最通用的形式之一),在 MS 世界中对应于 控制台应用程序.
但是微软已经定义了其他的应用类型。其中之一是不需要控制台的 GUI(基于 window)。对于那个 MS 定义的入口点为:
int CALLBACK WinMain(_In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)
。您可以在 MSDN.
上找到有关它的更多详细信息
构建应用程序的可执行文件时,链接器必须知道应用程序的类型。这是由 /SUBSYSTEM 设置指定的。
这是在您根据您的选择创建 (Visual C++) 项目时设置的:
- Win32 控制台应用程序
- Win32 项目
而且我认为后者是默认设置。
为了解决问题,您需要更改链接器设置以匹配您的代码(也可能有其他方法,但那样会更复杂)。为此,在 VStudio IDE 中转到您的 Project Properties -> Linker -> System -> SubSystem 并将其从 Windows (/SUBSYSTEM:WINDOWS ) 到 控制台 (/SUBSYSTEM:CONSOLE).
这里是 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) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>D:\visual work place\ConsoleApplication2\Debug\ConsoleApplication2.exe : fatal error LNK1120: 1 unresolved externals
有人知道怎么解决这个问题吗,谢谢
当Google-ing这个错误时有很多命中。 Here的一个。
您的 C 代码与您的 VStudio 项目类型不匹配。
您的应用程序的入口点可能是 int main(int argc, char **argv)
(这是其最通用的形式之一),在 MS 世界中对应于 控制台应用程序.
但是微软已经定义了其他的应用类型。其中之一是不需要控制台的 GUI(基于 window)。对于那个 MS 定义的入口点为:
int CALLBACK WinMain(_In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)
。您可以在 MSDN.
构建应用程序的可执行文件时,链接器必须知道应用程序的类型。这是由 /SUBSYSTEM 设置指定的。
这是在您根据您的选择创建 (Visual C++) 项目时设置的:
- Win32 控制台应用程序
- Win32 项目
而且我认为后者是默认设置。
为了解决问题,您需要更改链接器设置以匹配您的代码(也可能有其他方法,但那样会更复杂)。为此,在 VStudio IDE 中转到您的 Project Properties -> Linker -> System -> SubSystem 并将其从 Windows (/SUBSYSTEM:WINDOWS ) 到 控制台 (/SUBSYSTEM:CONSOLE).