昨天我試着在C++中創建一個套接字服務器,但是在編譯時出現錯誤。 的錯誤:C++ WinSock2錯誤
錯誤6錯誤LNK2019:解析外部符號_ 小鬼 _socket @函數引用12 「市民:靜態無符號長__cdecl信封:: GetSocket(無效)」(?GetSocket @信封@@ SAKXZ) C:\ Users \用戶JoshuaTha \文檔\ Visual Studio 2010的\項目\ HabboV5 \ HabboV5 \ Network.obj HabboV5
錯誤5錯誤LNK2019:解析外部符號_ 小鬼 _listen @ 8函數引用「市民:無效__thiscall Network :: Start(void)「(?Start @ Network @@ QAEXXZ)C:\ Users \ JoshuaTha \ Documents \ Visual Studio 2010 \ Projects \ HabboV5 \ HabboV5 \ Network.obj HabboV5
錯誤4錯誤LNK2019:無法解析的外部符號_ imp _htons @ 4在函數「public:void __thiscall Network :: Start(void)」(?Start @ Network @@ QAEXXZ)中引用C:\ Users \ JoshuaTha \ Documents \ Visual Studio 2010的\項目\ HabboV5 \ HabboV5 \ Network.obj HabboV5
錯誤3錯誤LNK2019:解析外部符號_ 小鬼 _bind @ 12函數引用 「市民:無效__thiscall網::開始(無效)」 (?Start @ Network @@ QAEXXZ)C:\ Users \ JoshuaTha \ Documents \ Visual Studio 2010 \ Projects \ HabboV5 \ HabboV5 \ Network.obj HabboV5
錯誤2錯誤LNK2001:無法解析的外部符號「public:static class Network * Env :: Network「(?Network @ Env @@ 2PAV0 @ A)C:\ Users \ JoshuaTha \ Documents \ Visual Studio 2010 \ Projects \ HabboV5 \ HabboV5 \ HabboV5.obj HabboV5
錯誤7錯誤LNK1120:5未解析的外部C:\用戶\ JoshuaTha \文檔\ Visual Studio 2010的\項目\ HabboV5 \調試\ HabboV5.exe HabboV5
我的主要的.cpp類:
// HabboV5.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include "Env.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout.write("hi", 2);
cout << "Hello World!" << endl;
Env::Network = new Network();
Env::Network->Start();
while (1)
{
char input[256];
cin.getline(input, 256);
}
}
Network.h:
#pragma once
#include <WinSock2.h>
class Network
{
private:
SOCKET socket;
public:
Network(void);
void Start();
};
Network.cpp:
#include "StdAfx.h"
#include "Network.h"
#include <WinSock2.h>
#include "Env.h"
Network::Network(void)
{
}
void Network::Start()
{
this->socket = Env::GetSocket();
SOCKADDR_IN sInformation;
sInformation.sin_family = AF_INET;
sInformation.sin_addr.s_addr = INADDR_ANY;
sInformation.sin_port = htons(30000);
bind(this->socket, (SOCKADDR*) (&sInformation), sizeof(sInformation));
listen(this->socket, 10);
}
Env.h:
#include "stdafx.h"
#include "Network.h"
#include <WinSock2.h>
class Env
{
public:
static Network* Network;
static DWORD GetSocket()
{
return socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
}
};
您沒有包含定義套接字內容的DLL的implib。看看MSDN什麼庫豪與winsock2 –