Как сделать проект из одного .cpp файла?

Сколько уже пробовал, и видео смотрел - не выходит. Нужно сделать проект, где есть main.cpp и файлы с .h И есть еще баг с тем, что ввести могу только англ значения, кириллица потом не выводится. Сам код: https://ideone.com/BDAOfQ

Файлы проекта:

Base.cpp - https://ideone.com/cTEq00

Base.h - https://ideone.com/n3lW71

main.cpp - https://ideone.com/CQ4LG6

Ошибка введите сюда описание изображения


Ответы (1 шт):

Автор решения: Harry

Открываем base.h и видим:

const char* file = "jurnal";
char a[256];
char* r(char* b)
{
    CharToOem(b, a);
    return a;
}

QED. Вы поместили в заголовочный файл определения переменных и функции, и в результате в каждом .cpp-файле получаете переменную/функцию с одним и тем же именем и приводите к нарушению правила ODR (one definition rule).

Если используемый компилятор позволяет - можно дописать inline и снять проблему, если нет - переменные объявить (не определить) с помощью ключевого слова extern, а определить в одном из .cpp-файлов. От функции оставить только объявление, определение вынести в .cpp-файл.

Это по ошибкам. Предупреждения связаны с тем, что вы объявляете переменную, которую не используете.

void Base::redac()
{
    system("cls");
    int t = 0;

t нигде дальше не используется. Формально это не ошибка.

→ Ссылка