Ошибка в makefile.win
Я только учусь языку C++ и для практики использую IDE Dev-C++. Попытался создать класс в качестве отдельного файла. Базовые возможности для создания такого предоставляет сама среда разработки. Сначала компилятор ругался на cout но потом исправил. Вот только при компиляции, мне стало выдавать вот такой прикол.
C:\Users\vanie\Documents\C++ proj\BasicProgram\main.o main.c:(.text+0x8c): undefined reference to `Base::func1()'
C:\Users\vanie\Documents\C++ proj\BasicProgram\main.o main.c:(.text+0x96): undefined reference to `Base::func2()'
C:\Users\vanie\Documents\C++ proj\BasicProgram\collect2.exe [Error] ld returned 1 exit status
26 C:\Users\vanie\Documents\C++ proj\BasicProgram\Makefile.win recipe for target 'BasicProgram.exe' failed
И что с этим делать я не знаю. Никогда прежде в этот файл не лез так как среда разработки делала всё сама. Ниже будет весь код имеющийся в проекте.
Основной файл.
#include <iostream>
#include "Base.h"
using std::cin;
using std::cout;
using std::endl;
void Foo() {
cout << "Hello World!" << endl;
}
int main() {
Base test;
setlocale(LC_ALL, "");
cout<<"Это базовая программа."<<endl;
test.func1();
test.func2();
return 0;
}
Заголовочный файл класса Base.
#ifndef BASE_H
#define BASE_H
class Base
{
public:
Base();
func1();
func2();
protected:
};
#endif
Исходный файл того же класса.
#include <iostream>
#include "Base.h"
using namespace std;
Base::Base(){
};
void func1(){
cout<<"succes1";
}
void func2(){
cout<<"succes2";
}
ну и на всякий случай, всё что есть в Makefile.win
# Project: BasicProgram
# Makefile created by Dev-C++ 5.11
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
RES = BasicProgram_private.res
OBJ = main.o Base.o $(RES)
LINKOBJ = main.o Base.o $(RES)
LIBS = -L"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc -m32
INCS = -I"C:/Program Files/Dev-Cpp/MinGW64/include" -I"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS = -I"C:/Program Files/Dev-Cpp/MinGW64/include" -I"C:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN = BasicProgram.exe
CXXFLAGS = $(CXXINCS) -m32
CFLAGS = $(INCS) -m32
RM = rm.exe -f
.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after
clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
main.o: main.c
$(CPP) -c main.c -o main.o $(CXXFLAGS)
Base.o: Base.cpp
$(CPP) -c Base.cpp -o Base.o $(CXXFLAGS)
BasicProgram_private.res: BasicProgram_private.rc
$(WINDRES) -i BasicProgram_private.rc -F pe-i386 --input-format=rc -o BasicProgram_private.res -O coff
Прошу помочь с этой проблемой! Сама программа вызывает и использует консольное окно.