最近试着做一个局域网小游戏,结果碰到了 ld returned 1 exit status
//main.cpp
#include<bits/stdc++.h>
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<bits/stdc++.h>
#include<fstream>
using namespace std;
void start(double q) {
cout<<"三国杀"<<endl;
cout<<"版本:"<<q<<endl;
string arr[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<<arr[i]<<endl;
}
cout<<"要开始吗?"<<endl;
system("pause");
system("cls") ;
}
//activeconnect.cpp
#include<WINSOCK2.H>
#include<bits/stdc++.h>
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<<"正在匹配......"<<endl;
connect(sclient , (struct sockaddr *) &server , sizeof(SOCKADDR_IN));
cout<<"匹配成功!" <<endl;
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<WINSOCK2.H>
#include<bits/stdc++.h>
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<<"匹配中......"<<endl;
SOCKET sclient=accept(slisten,(struct sockaddr*)&client,&sizes);
cout<<"匹配成功!" <<endl;
}
求帮忙,能运行就行