win32系统下 用winsocket2 加载 提示一堆文件找不到



 C


 #include <WinSock2.h>
#include <WS2tcpip.h>
#include <stdio.h>

#pragma comment(lib,"Ws2_32.lib")

int main(){
    return 0;
}

运行获得错误列表

'socket.exe' (Win32): Loaded 'G:\std\c++\basic\socket\Debug\socket.exe'. Symbols loaded.
'socket.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'socket.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'socket.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'socket.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr120d.dll'. Cannot find or open the PDB file.
The program '[3848] socket.exe' has exited with code 0 (0x0).

很少做win编程,C/C++接触的也不多,如果是低级错误,请勿喷

cite 参考msdn的做法

c C++ win32api

dfmtf 9 years, 11 months ago

 PDB是VC的调试文件,也就是我们俗称的C++符号表,这个格式是MS定义的,所以只存在于Windows平台,因为Windows底层也是C++开发的,而且肯定是release版本的,所以默认是不带符号表release的。
你这个只是warning,没关系,不影响你程序运行,如果你觉得无法接受的话,你可以右键Visual Studio,从symbol server上也就是MS的链接上下载, 也可以从MS的官方网站上下载这些内核的PDB。符号表的作用就是当程序异常时,如果是比较隐晦的bug,你可以用内核的PDB来关联,看是什么问题导致内核的这些库出问题,有助于程序异常错误分析。
这里据说也可以下, https://support.microsoft.com/zh-cn/kb/311503  你试试?

酒漓漓漓漓漓 answered 9 years, 11 months ago

Your Answer