我阅读了微软的所有文档,但他们声称它应该可以在没有任何额外库的情况下运行。一小时的谷歌搜索没有结果。我的代码:
#include <windows.h>
#include <ras.h>
int main()
{
char* szPhoneNumberToDial = "127.0.0.1";
char* szUserName = "test";
char* szPassword = "test";
RASDIALPARAMS rdParams;
rdParams.dwSize = sizeof(RASDIALPARAMS);
rdParams.szEntryName[0] = '\0';
lstrcpy(rdParams.szPhoneNumber, szPhoneNumberToDial);
rdParams.szCallbackNumber[0] = '\0';
lstrcpy( rdParams.szUserName, szUserName );
lstrcpy( rdParams.szPassword, szPassword );
rdParams.szDomain[0] = '\0';
HRASCONN hRasConn = NULL;
DWORD dwRet = RasDial(NULL, NULL, &rdParams, 0L, NULL, &hRasConn);
}
错误:
undefined reference to 'RasDialA@24'
我尝试了C和C ++实现(在VC ++ 2010和MinGW / gcc&amp; g ++中),但它们都导致了同样的错误。
有什么想法吗?
答案 0 :(得分:2)
according documentation
,RasDial()
用法的要求,Ras.h
标头,是Rasapi32.lib
库。如果您的编译器可以使用它,请使用
-l
选项将其传递给链接
<强> GCC 强>:
gcc foo.c -lRasapi32
编辑:感谢@Mark Wilkins,它为
提供了命令行Microsoft编译器:
cl foo.c rasapi32.lib