求教VS2008出现:LNK2019: 无法解析的外部符号 __imp__vsprintf_s

u010521247 2013-10-24 11:26:40
#include "Winsock2.h"
#include "stdio.h"
#include<iostream>
using namespace std;
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 );//1.1版本的ws2.dll库

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}


if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}
SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
listen(sockSrv,10000);
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
char sendBuf[100];
sprintf(sendBuf,"welcome %s to http://www.baidu.com",
inet_ntoa(addrClient.sin_addr));
send(sockConn,sendBuf,strlen(sendBuf)+1/*+1为\0的字符*/,0);
char recvBuf[100];
recv(sockConn,recvBuf,100,0);
printf("%s\n",recvBuf);
closesocket(sockConn);
}
}
////////////////////////////////////////////////////////
启动调试后报

错误 1 error LNK2019: 无法解析的外部符号 __imp__vsprintf_s,该符号在函数 "int __cdecl sprintf<100>(char (&)[100],char const *,...)" (??$sprintf@$0GE@@@YAHAAY0GE@DPBDZZ) 中被引用 tcpsrv.obj TcpSrv


错误 2 fatal error LNK1120: 1 个无法解析的外部命令 D:\My Documents\Visual Studio 2008\Projects\TcpSrv\Debug\TcpSrv.exe TcpSrv
...全文
1230 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
axx1611 2013-10-28
  • 打赏
  • 举报
回复 1
Configuration Properties->C/C++->Code Generation->Runtime Library-> debug版选/MD release版选/MT
u010521247 2013-10-26
  • 打赏
  • 举报
回复
引用 5 楼 axx1611 的回复:
改成用静态CRT应该就不会出现这个了
能不能再具体点 如:1.菜单中选择 Project->Properties, 弹出Property Pages窗口 2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocess...........
axx1611 2013-10-25
  • 打赏
  • 举报
回复
改成用静态CRT应该就不会出现这个了
u010521247 2013-10-25
  • 打赏
  • 举报
回复
引用 3 楼 axx1611 的回复:
单凭报错和代码不足以分析问题,八成是工程配置也就是编译选项的问题 一种偷懒的办法是CRT库改成用静态链接库而不是默认的动态链接
这个该怎么整啊 错误 1 error LNK2019: 无法解析的外部符号 __imp__vsprintf_s
axx1611 2013-10-25
  • 打赏
  • 举报
回复
单凭报错和代码不足以分析问题,八成是工程配置也就是编译选项的问题 一种偷懒的办法是CRT库改成用静态链接库而不是默认的动态链接
u010521247 2013-10-25
  • 打赏
  • 举报
回复
#pragma comment( lib, "ws2_32.lib" )加过了无效 我连ws2_32.lib都下了
  • 打赏
  • 举报
回复
开头加一句 #pragma comment( lib, "ws2_32.lib" )

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧