Вот краткий обзор моего проекта: < Br /> Проект-это приложение клиентского сервера, где класс сервера общается с клиентским классом. Класс ServerManager управляет подключенными клиентами.
Проект использует MakeFile для создания исполняемых файлов клиента и сервера. >: < /p>
Код: Выделить всё
/usr/bin/ld: tcp_server/main.o: in function `main::{lambda()#1}::operator()() const':
main.cpp:(.text+0x1db): неопределенная ссылка на Client :: setServer (Server &)'/usr/bin/ld: tcp_server/server.o: in function сервер :: Froadcast (Client*, char*) ':
server.cpp:(.text+0x1d3): неопределенная ссылка на Client :: getName [abi: cxx11] ()' /usr /bin /ld: сервер .cpp

/usr/bin/ld: tcp_server/servermanager.o: in function servermanager :: addclient (std: : __ cxx11 :: basic_string const &, int const &) ': servermanager.cpp

collect2: ошибка: LD вернул 1 статус выхода
Make: *** [Makefile: 23: Server] Ошибка 1
Обзор кода :
client.h: < /p>
Код: Выделить всё
//
// Created by notro on 1/28/25.
//
#ifndef CLIENT_H
#define CLIENT_H
#include
#include
#include
#include "Server.h"
class Server;
class Client {
public:
Client(std::string name, int sock);
std::string getName();
int getSocket();
void setServer(Server& server);
void communicate();
private:
Server* server = nullptr;
std::string name;
int sock;
};
#endif //CLIENT_H
Код: Выделить всё
//
// Created by notro on 1/25/25.
//
#include
#include
#include
#include
#include
#include
#include "ServerManager.h"
#include "Client.h"
Client::Client(std::string name, int sock) : name(name), sock(sock) {}
std::string Client::getName() {
return this->name;
}
int Client::getSocket() {
return this->sock;
}
void Client::setServer(Server& server) {
this->server = &server;
}
void Client::communicate() {
std::string clientName = this->name;
char buffer[1024];
while (true) {
ssize_t received = recv(this->sock, buffer, sizeof(buffer), 0);
if (received == 0) {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79412794/undefined-reference-errors-in-my-c-project-missing-link-to-client-methods-in[/url]