1
я получаю следующее сообщение об ошибке:Неопределенное Referece в конструктор класса
> /tmp/ccYbdvB8.o: In function `main':
> /home/caleb/Documents/dev/cs438/tote2/mp2/manager.cpp:5: undefined
> reference to `TCPConnection::TCPConnection(char const*, char const*)'
> collect2: error: ld returned 1 exit status make: *** [manager] Error 1
Я включил заголовок к классу я пытаюсь инициализировать .. так что я имею в виду, может быть, это моя Makefile? Я довольно новыми для написания пользовательских Makefiles ...
каст:
#include "tcpcon.h"
const string TCPConnection::Client = "client";
const string TCPConnection::Server = "server";
TCPConnection::TCPConnection(const char* t, const char* p) : target(t), port(p)
{ }
ч:
class TCPConnection{
public:
TCPConnection(const char *target, const char *port);
главная:
#include "tcpcon.h"
int main()
{
TCPConnection *TCPCon = new TCPConnection("localhost", "7777");
cout << "Hi\n";
return 0;
}
Makefile:
CC=g++
CCOPTS=-Wall -Wextra -g
OBJS = tcpcon.o
TARGETS = manager
.PHONY: all clean
$(TARGET) : $(OBJS)
$(CC) -o [email protected] $^ $(CFLAGS) $(LIBS)
all: $(OBJS) $(TARGETS)
clean:
rm -f $(TARGETS) $(OBJS)
%: %.cpp
$(CC) $(CCOPTS) -o [email protected] $<
Это makefile. 'g ++ -Wall -Wextra -g -o manager tcpcon.cpp manager.cpp' должен корректно строить. – timrau
Хм, мой: 'g ++ -Wall -Wextra -g -o manager manager.cpp' – MrDuk
Ну, вы должны включить' tcpcon.o' в последнюю команду. 'g ++ -Wall -Wextra -g -o manager tcpcon.o manager.cpp' – timrau