最近试着做一个局域网小游戏,结果碰到了 ld returned 1 exit status
//main.cpp
#include
using namespace std;
extern start(double p);
extern activeconnect();
extern unactiveconnect();
int main() {
start(1.01);
int n;
cout<<"主动连接(1)还是被动链接(2)?";
cin>>n;
if(n==1) {
activeconnect();
} else {
unactiveconnect();
}
}
//start.cpp
#include
#include
using namespace std;
void start(double q) {
cout<<"三国杀"<"版本:"<10001];
ifstream fin("new.in");
int p;
fin>>p;
for(int i=1; i<=p; i++) {
fin>>arr[i];
}
for(int i=1; i<=p; i++) {
cout<"要开始吗?"<system("pause");
system("cls") ;
}
//activeconnect.cpp
#include
#include
using namespace std;
#define ser "XXXXXX"//这里XX没有错误
#define port 5150
#pragma comment(lib, "ws2_32.lib")
void activeconnect() {
WSADATA data;
WSAStartup(0x0202,&data);
SOCKET sclient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
SOCKADDR_IN server;
memset(&server,0,sizeof(server) );
server.sin_family= PF_INET;
server.sin_port=htons(port);
server.sin_addr.s_addr=inet_addr(ser);
cout<<"正在匹配......"<connect(sclient , (struct sockaddr *) &server , sizeof(SOCKADDR_IN));
cout<<"匹配成功!" <char message[18] {'C','O','N','N','E','C','T',' ','S','U','C','C','E','S','S','E','D','!'};
send(sclient,message,strlen(message),0);
closesocket(sclient);
}
//unactiveconnect.cpp
#include
#include
using namespace std;
#define port 5150
#pragma comment(lib, "ws2_32.lib")
void unactiveconnect() {
cout<<"初始化中......";
WSADATA data;
WSAStartup(0x0202,&data);
SOCKADDR_IN server;
server.sin_family= AF_INET;
server.sin_port= htons(port);
server.sin_addr.s_addr=htonl(INADDR_ANY);
int sizes=sizeof(SOCKADDR_IN);
SOCKET slisten=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
bind(slisten,(struct sockaddr*)&server,sizeof(SOCKADDR_IN));
listen(slisten,1);
SOCKADDR client;
system("cls");
cout<<"匹配中......"<accept(slisten,(struct sockaddr*)&client,&sizes);
cout<<"匹配成功!" <
求帮忙,能运行就行
你下面错误underfined reference一看就是DevC++没有链接WinSock的库
这样解决:工具->编译选项->上面那个框填-lws2_32 链接相关库,就好了
报错信息呢,截图呢,瞅瞅是那个文件报错
那里写的是collect2.exe
你的程序是不是正在运行?如果你检查不到,重启一下绝对能好