Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Oleg Pridarun
2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91
1

Ошибки в многофайловом проекте

06.08.2017, 13:52. Просмотров 858. Ответов 6
Метки нет (Все метки)

Здравствуйте! У меня есть многофайловый проект. Он не закончен (только начатый), но запуск возможен. При попытки компиляции я получаю огромное кол-во ошибок. Я сделал вывод, что мне надо объявить нужные библиотеки в заголовочных файлах (хотя они объявлены в файле с main (В файле с main все заголовочные файлы объявлены)). При попытке скомпилировать уже с объявленными библиотеками в заголовочных файлах, я получаю другие ошибки. Из этих ошибок следует, что один и тот же файл объявляется слишком большое кол-во раз (#pragma once во всех файлах имеется). Использую Visual Studio 2017. Помогите решить проблему.
0
Вложения
Тип файла: zip Game.zip (244.9 Кб, 3 просмотров)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2017, 13:52
Ответы с готовыми решениями:

Перегрузка << в многофайловом проекте
Чтобы узнать, как перегружать потоки, зашел на msdn, нашел там это: #include &lt;iostream&gt; using...

Struct в многофайловом проекте
Если в main файле создать структуру, то как её использовать в функциях, которые в других cpp...

Ошибка LNK2019 в многофайловом проекте
Смысл: Мне нужно создать абстрактный класс контейнер, на его основе конкретные классы, далее...

Иерархия классов в многофайловом проекте
Всем привет. Есть проблема с созданием программы. Должна быть небольшая иерархия классов, и все...

Вызов функции в многофайловом проекте
Компилятор ругается на указатель на массив &quot;a&quot; , в файле main.cpp Вот файлы проекта: ...

6
alex white
272 / 224 / 91
Регистрация: 27.06.2016
Сообщений: 633
Завершенные тесты: 1
06.08.2017, 14:07 2
Тексты ошибок в студию, файлы сократите до значащего в данном контексте кода и выложите сюда оставшийся код (а не архивом). Это если вы хотите, чтобы у кого-то была охота вам помогать.
0
GbaLog-
Любитель чаепитий
3171 / 1476 / 466
Регистрация: 24.08.2014
Сообщений: 5,211
Записей в блоге: 1
Завершенные тесты: 2
06.08.2017, 15:08 3
сначала разберитесь с включением заголовков.
0
GbaLog-
Любитель чаепитий
3171 / 1476 / 466
Регистрация: 24.08.2014
Сообщений: 5,211
Записей в блоге: 1
Завершенные тесты: 2
06.08.2017, 15:18 4
Лучший ответ Сообщение было отмечено Oleg Pridarun как решение

Решение

вот так удалось завести.
работоспособность не тестировал.
вот ещё варнинги:
Кликните здесь для просмотра всего текста
Код
In file included from menu.h:6:0,
                 from mainFile.cpp:11:
Errors.h: In function 'void takeVolumeError(bool)':
Errors.h:15:27: warning: parameter 'cycleRepeat' set but not used [-Wunused-but-
set-parameter]
 void takeVolumeError(bool cycleRepeat)
                           ^~~~~~~~~~~
In file included from mainFile.cpp:11:0:
menu.h: In function 'std::__cxx11::string menu()':
menu.h:45:26: warning: conversion to 'char' from 'int' may alter its value [-Wco
nversion]
   takeMenuChoose = _getch();
                    ~~~~~~^~
mainFile.cpp: In function 'int main(int, char**)':
mainFile.cpp:18:12: warning: conversion to 'unsigned int' from 'time_t {aka long
 int}' may change the sign of the result [-Wsign-conversion]
  srand(time(NULL)); //╙ёЄрэютър яюёЄю*ээющ ёыєўрщэюёЄш ўшёхы
        ~~~~^~~~~~
mainFile.cpp:15:14: warning: unused parameter 'argc' [-Wunused-parameter]
 int main(int argc, char** argv)
              ^~~~
mainFile.cpp:15:27: warning: unused parameter 'argv' [-Wunused-parameter]
 int main(int argc, char** argv)
                           ^~~~
In file included from mainFile.cpp:11:0:
menu.h: In function 'std::__cxx11::string menu()':
menu.h:71:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
1
Вложения
Тип файла: zip a.zip (2.0 Кб, 3 просмотров)
Oleg Pridarun
2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91
07.08.2017, 10:23  [ТС] 5
Цитата Сообщение от GbaLog- Посмотреть сообщение
вот так удалось завести.
работоспособность не тестировал.
вот ещё варнинги:
Кликните здесь для просмотра всего текста
Код
In file included from menu.h:6:0,
                 from mainFile.cpp:11:
Errors.h: In function 'void takeVolumeError(bool)':
Errors.h:15:27: warning: parameter 'cycleRepeat' set but not used [-Wunused-but-
set-parameter]
 void takeVolumeError(bool cycleRepeat)
                           ^~~~~~~~~~~
In file included from mainFile.cpp:11:0:
menu.h: In function 'std::__cxx11::string menu()':
menu.h:45:26: warning: conversion to 'char' from 'int' may alter its value [-Wco
nversion]
   takeMenuChoose = _getch();
                    ~~~~~~^~
mainFile.cpp: In function 'int main(int, char**)':
mainFile.cpp:18:12: warning: conversion to 'unsigned int' from 'time_t {aka long
 int}' may change the sign of the result [-Wsign-conversion]
  srand(time(NULL)); //╙ёЄрэютър яюёЄю*ээющ ёыєўрщэюёЄш ўшёхы
        ~~~~^~~~~~
mainFile.cpp:15:14: warning: unused parameter 'argc' [-Wunused-parameter]
 int main(int argc, char** argv)
              ^~~~
mainFile.cpp:15:27: warning: unused parameter 'argv' [-Wunused-parameter]
 int main(int argc, char** argv)
                           ^~~~
In file included from mainFile.cpp:11:0:
menu.h: In function 'std::__cxx11::string menu()':
menu.h:71:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
В самой программе я получаю сразу 2 fatalError() (из Errors.h), а после них исключение.
0
GbaLog-
Любитель чаепитий
3171 / 1476 / 466
Регистрация: 24.08.2014
Сообщений: 5,211
Записей в блоге: 1
Завершенные тесты: 2
07.08.2017, 10:26 6
Цитата Сообщение от Oleg Pridarun Посмотреть сообщение
В самой программе я получаю сразу 2 fatalError() (из Errors.h), а после них исключение.
что в словах:
Цитата Сообщение от GbaLog- Посмотреть сообщение
работоспособность не тестировал.
вас смутило?
я не проверял, как оно работает, я лишь сделал так, чтобы оно компилировалось.
0
Oleg Pridarun
2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91
07.08.2017, 11:22  [ТС] 7
Ладно, спасибо. Если смогу решить эту проблему, тут напишу

Добавлено через 16 минут
Переменная language оказалась не инициализированной. После инициализации пункты меню стали отображаться, а fatalError пропало. Но при попытке что-то выбрать всё равно получаю исключение.

Добавлено через 27 минут
Решение нашёл. Я считал, что _getch() возвращает символ, а он возвращал число
0
07.08.2017, 11:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2017, 11:22

Ошибка линковки в многофайловом проекте
что за на??? в проекте 3 модуля: main.cpp, test.cpp, test.h, в main.cpp и test.cpp подключен...

Ошибка LNK2005 в многофайловом проекте
Появилась такая проблема ,выдает ошибку LNK2005 при компиляции программы,вроде сделано все...

Вывод в файл *.txt в многофайловом проекте
Нужно перенаправить cout в файл. Я выводил в информацию в файл просто с помощью добавления такого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru