Вот, что выдает компилятор, все функции и переменные объявлены один раз.
Проект относительно большой, исходники каких именно файлов приложить?
из-за чего именно происходит это? Сижу уже 5й час, пойду попью чаю.. буду через 15 мин, так , что не серчайте, если не сразу дополню.
obj\Debug\main.o: In function Z8inccordsiiP5cords':
C:/c++/programs/FMV5/gGlobal.h:34: multiple definition of
inccords(int, int, cords*)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/gGlobal.h:34: first defined here
obj\Debug\main.o: In function ZN5Logys4openEPKc':
C:/c++/programs/FMV5/Logs/cLog.h:36: multiple definition of
Logys::open(char const*)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/Logs/cLog.h:36: first defined here
obj\Debug\main.o: In function ZN5Logys4readB5cxx11Ei':
C:/c++/programs/FMV5/Logs/cLog.h:41: multiple definition of
Logys::readabi:cxx11'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/Logs/cLog.h:41: first defined here
obj\Debug\main.o: In function ZN5Logys5writeEPKc':
C:/c++/programs/FMV5/Logs/cLog.h:57: multiple definition of
Logys::write(char const*)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/Logs/cLog.h:57: first defined here
obj\Debug\main.o: In function ZN5Logys5clearEv':
C:/c++/programs/FMV5/Logs/cLog.h:69: multiple definition of
Logys::clear()'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/Logs/cLog.h:69: first defined here
obj\Debug\main.o: In function ZN5Logys4sizeEv':
C:/c++/programs/FMV5/Logs/cLog.h:80: multiple definition of
Logys::size()'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/Logs/cLog.h:80: first defined here
obj\Debug\main.o: In function ZN5Click4bornEPiS0_':
C:/c++/programs/FMV5/cMenu.h:39: multiple definition of
Click::born(int*, int*)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:39: first defined here
obj\Debug\main.o: In function ZN4MenuC2Ev':
C:/c++/programs/FMV5/cMenu.h:102: multiple definition of
Menu::Menu()'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:102: first defined here
obj\Debug\main.o: In function ZN4MenuC2Ev':
C:/c++/programs/FMV5/cMenu.h:102: multiple definition of
Menu::Menu()'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:102: first defined here
obj\Debug\main.o: In function ZN4Menu5setupEiP10SDL_WindowP12SDL_RendererP5ModelP12Menu_Handler':
C:/c++/programs/FMV5/cMenu.h:111: multiple definition of
Menu::setup(int, SDL_Window*, SDL_Renderer*, Model*, Menu_Handler*)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:111: first defined here
obj\Debug\main.o: In function ZN4Menu10add_buttonEiiiii':
C:/c++/programs/FMV5/cMenu.h:120: multiple definition of
Menu::add_button(int, int, int, int, int)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:120: first defined here
obj\Debug\main.o: In function ZN4Menu3runEb':
C:/c++/programs/FMV5/cMenu.h:129: multiple definition of
Menu::run(bool)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:129: first defined here
obj\Debug\main.o: In function ZN4Menu6inputsEv':
C:/c++/programs/FMV5/cMenu.h:140: multiple definition of
Menu::inputs()'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:140: first defined here
obj\Debug\main.o: In function ZN4Menu7outputsEv':
C:/c++/programs/FMV5/cMenu.h:161: multiple definition of
Menu::outputs()'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:161: first defined here
obj\Debug\main.o: In function ZN4Menu14connect_outputE6output':
C:/c++/programs/FMV5/cMenu.h:179: multiple definition of
Menu::connect_output(output)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:179: first defined here
obj\Debug\main.o: In function ZN4Menu13connect_inputE5input':
C:/c++/programs/FMV5/cMenu.h:180: multiple definition of
Menu::connect_input(input)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu.h:180: first defined here
obj\Debug\main.o: In function ZN12Menu_Handler5setupEP12SDL_RendererP10SDL_WindowP5Model':
C:/c++/programs/FMV5/cMenu_Handler.h:40: multiple definition of
Menu_Handler::setup(SDL_Renderer*, SDL_Window*, Model*)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu_Handler.h:40: first defined here
obj\Debug\main.o: In function ZN12Menu_Handler9seek_menuEi':
C:/c++/programs/FMV5/cMenu_Handler.h:45: multiple definition of
Menu_Handler::seek_menu(int)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu_Handler.h:45: first defined here
obj\Debug\main.o: In function ZN12Menu_Handler10check_runsEv':
C:/c++/programs/FMV5/cMenu_Handler.h:57: multiple definition of
Menu_Handler::check_runs()'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu_Handler.h:57: first defined here
obj\Debug\main.o: In function Z15global_redirectP12Menu_HandleriiP5Model':
C:/c++/programs/FMV5/cMenu_Handler.h:69: multiple definition of
global_redirect(Menu_Handler*, int, int, Model*)'
obj\Debug\input\cppButton.o:C:/c++/programs/FMV5/cMenu_Handler.h:69: first defined here
obj\Debug\main.o: In function ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_':
C:/c++/codeblocks/MinGW/lib/gcc/mingw32/5.1.0/include/c++/mingw32/bits/gthr-default.h:302: multiple definition of
renderer'
obj\Debug\input\cppButton.o:C:/c++/codeblocks/MinGW/lib/gcc/mingw32/5.1.0/include/c++/mingw32/bits/gthr-default.h:302: first defined here
obj\Debug\main.o: In function ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_':
C:/c++/codeblocks/MinGW/lib/gcc/mingw32/5.1.0/include/c++/mingw32/bits/gthr-default.h:303: multiple definition of
window'
obj\Debug\input\cppButton.o:C:/c++/codeblocks/MinGW/lib/gcc/mingw32/5.1.0/include/c++/mingw32/bits/gthr-default.h:303: first defined here
collect2.exe: error: ld returned 1 exit status
Даже если у вас стоят include guard или pragma once, это врятли решит проблему. Дело в том, что у вас есть несколько единиц трансляции, и каждая функция, определённая в хедере, оказывается в каждой единице трансляции, где был сделан соответствующий include (это очень примитивное объяснение, но я просто не хочу слишком детально на нём останавливаться).
Решить проблему можно тремя способами.
Добавить всем функциям спецификатор inline, например:
inline void add_button(int, int, int, int, int) {/*...*/}
Это поможет, но лучше так не делать.
Сделать все функции шаблонными (но это уже совсем плохо, делать шаблоном только ради того, чтобы определить в хедере, крайне не рекомендую так поступать).
Суммируя всё вышесказанное, самое правильное решение - перенести все реализации в cpp-файл (1й способ). Если нужно очень быстро поэкспериментировать - можно воспользоваться вторым методом (но потом всё равно перенести реализации).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть код, с двумя вариантами, первый который работает с оператором afirst и второй который работает с оператором a->first для меня разницы...
Пытаюсь использовать коннектер MySQL и C++ среда : Windows 10 Code::Blocks 1712 MySQL 8
Использую datepicker от JqueryВ браузере firefox При нажатии на <input type="date"> отражается сразу два datepicker: