DHCP Server Management API을 C++ 응용 프로그램에서 사용하려고합니다. DhcpAddServer 함수를 사용하려고 할 때 항상 링커 오류 (LNK2001 미확인 외부 기호 _DhcpAddServer)가 발생합니다. 다른 모든 기능은 정상적으로 작동하는 것 같습니다.DHCPSAPI DhcpAddServer 링커 오류
이미 SDK V7.0A 및 V7.1을 사용해 보았습니다 (대상 시스템은 Win XP 임). 여기
테스트 코드 다음 TestDHCPAddServer가 제거되면#include <windows.h>
#include <dhcpsapi.h>
#include <tchar.h>
#pragma comment(lib, "dhcpsapi.lib")
DWORD TestDHCPAddServer();
DWORD TestDHCPGetVersion();
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
DWORD TestDHCPAddServer()
{
DHCP_SERVER_INFO serverInfo;
DWORD errorCode=0;
serverInfo.Version = 0;
serverInfo.ServerName = L"xxxx";
serverInfo.ServerAddress = 1234;
serverInfo.Flags = 0;
serverInfo.State = 0;
serverInfo.DsLocation = NULL;
serverInfo.DsLocType = 0;
errorCode = DhcpAddServer(0, NULL, &serverInfo, NULL, NULL);
return errorCode;
}
DWORD TestDHCPGetVersion()
{
DWORD majorVersion = 0;
DWORD minorVersion = 0;
DWORD errorCode = 0;
errorCode = DhcpGetVersion(NULL, &majorVersion, &minorVersion);
return errorCode;
}
, 코드 컴파일, 의미, 일반적으로 LIB 작동하는지. 또한 dumpbin.exe/exports를 사용했으며이 함수는 두 버전의 lib에서 모두 사용할 수 있어야한다고 말합니다.
/verbose를 사용하여 링커를 실행하면 lib에서 DhcpGetVersion을 찾을 수 있지만 DhcpAddServer는 찾을 수 없습니다.