Я пытаюсь сделать простой класс сокетов UDP, чтобы поговорить между программой C++ и программой java, поэтому я пытаюсь создать класс сокета, который обрабатывает всю передачу UDP, но я не могу получить программу для компиляции, потому что я получаю около 8 ошибок lnk2019, и я понятия не имею, что они означают. Я в основном работаю на Java и использую только C++, когда мне нужно lol. У меня 3 файла заголовок сокета и код. Также код Udp Socket от rFactor-Nesim, поэтому код сокета не написан мной.lnk2019 visual studio error
UdpSocket.cpp
#include "UdpSocket.hpp"
#include <stdio.h>
UdpSocket::UdpSocket(const char* host, int port)
: mHost(host), mPort(port)
{
}
UdpSocket::~UdpSocket(void)
{
}
void UdpSocket::Open()
{
if(WSAStartup(MAKEWORD(2, 0), &mWinsockData) != 0)
fprintf(stderr, "WSAStartup() failed");
if ((mSocket = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
perror("socket() failed");
memset(&mSocketAddress, 0, sizeof(mSocketAddress));
mSocketAddress.sin_family = AF_INET;
mSocketAddress.sin_addr.s_addr = inet_addr(mHost);
mSocketAddress.sin_port = htons(mPort);
}
void UdpSocket::Close()
{
closesocket(mSocket);
WSACleanup();
}
void UdpSocket::Send(char* str, size_t length)
{
size_t result = sendto(mSocket, str, length, 0,
(struct sockaddr *) &mSocketAddress, sizeof(mSocketAddress));
if(result != length)
perror("sendto() sent incorrect number of bytes");
}
UdpSocket.hpp
#ifndef UDPSOCKET_HPP
#define UDPSOCKET_HPP
#include <WinSock.h>
class UdpSocket
{
public:
UdpSocket(const char* host, int port);
~UdpSocket(void);
void Send(char* str, size_t length);
void Open();
void Close();
private:
const char* mHost;
int mPort;
int mSocket;
struct sockaddr_in mSocketAddress;
WSADATA mWinsockData;
};
#endif // UDPSOCKET_HPP
и главный
#include "Socket/UdpSocket.hpp"
#include <iostream>
int Main(){
UdpSocket* testSocket = new UdpSocket("127.0.0.1", 27469);
testSocket->Open();
system("pause");
return 0;
}
Любая помощь будет большим. Я не очень силен с C++, но я сделал немного
консоль Ouput:
Error 1 error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall UdpSocket::Open(void)" ([email protected]@@QAEXXZ) UdpSocket.obj SocketTest
Error 2 error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall UdpSocket::Open(void)" ([email protected]@@QAEXXZ) UdpSocket.obj SocketTest
Error 3 error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall UdpSocket::Open(void)" ([email protected]@@QAEXXZ) UdpSocket.obj SocketTest
Error 4 error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall UdpSocket::Open(void)" ([email protected]@@QAEXXZ) UdpSocket.obj SocketTest
Error 5 error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall UdpSocket::Close(void)" ([email protected]@@QAEXXZ) UdpSocket.obj SocketTest
Error 6 error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall UdpSocket::Close(void)" ([email protected]@@QAEXXZ) UdpSocket.obj SocketTest
Error 7 error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall UdpSocket::Send(char *,unsigned int)" ([email protected]@@[email protected]) UdpSocket.obj SocketTest
Error 8 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib SocketTest
Error 9 fatal error LNK1120: 8 unresolved externals C:\Users\Brendan\Documents\Visual Studio 2008\Projects\SocketTest\Debug\SocketTest.exe SocketTest
Позвольте мне получить мой волшебный стеклянный шар, чтобы посмотреть ваши сообщения об ошибках ... – us2012
опубликуйте свои сообщения об ошибках и, желательно, снимок окна вывода. Там должны быть драгоценные камни –
Не так сложно узнать, что означает эта ошибка: http://msdn.microsoft.com/de-de/library/799kze2z(v=vs.80).aspx – MFH