0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 2
|
||||||||||||||||
1 | ||||||||||||||||
Подключение файлов через extern08.08.2015, 00:06. Показов 1405. Ответов 5
Метки нет (Все метки)
пишу такую фигню
Ошибка 1 error LNK2005: "unsigned long fdwSaveOldMode" (?fdwSaveOldMode@@3KA) уже определен в HH2.obj Ошибка 2 error LNK2005: "void * hStdin" (?hStdin@@3PAXA) уже определен в HH2.obj И т.п
0
|
08.08.2015, 00:06 | |
Ответы с готовыми решениями:
5
Использование static переменной через extern Задать размер динамического массива через переменную, обявленную как extern Необъявленный идентификатор (связь файлов через extern, include) Подключение двух файлов через require_once |
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 2
|
|
08.08.2015, 00:23 [ТС] | 3 |
Да... Спасибо!!!
Добавлено через 11 минут Это замечательно! Хотя действительно странно. Скомпилировалось, хотя в моем понимании стало действительно переопределение.
0
|
Неэпический
|
||||||||||||||||
08.08.2015, 00:39 | 4 | |||||||||||||||
Объясню как смогу.
Вспомните - #include просто вставляет текст файла. У Вас есть два .cpp файла, которые компилируются по отдельности. Заголовок mouse.h включается в оба файла, поэтому в каждом cpp файле оказывается определение переменных
то есть теперь в каждый файл из заголовка попадут объявления
Если так и оставить, то компиляция пройдет успешно, но вот линковщик будет сильно ругаться, т.к. объявления есть, а определений этих переменных нет. Поэтому в один из cpp добавляем определения:
0
|
0 / 0 / 0
Регистрация: 21.08.2018
Сообщений: 1
|
|
15.10.2021, 16:24 | 5 |
В примере указанном выше, вовсе необязательно что оставлять в файле mouse.h . Достаточно оттуда исключить и поместить в Mouse.cpp. У меня сработало.
0
|
фрилансер
5497 / 5093 / 1047
Регистрация: 11.10.2019
Сообщений: 13,321
|
||||||
16.10.2021, 14:14 | 6 | |||||
Сфр, ещё вариант - оставить всё как в первом посте, только приписать этим переменным слово inline
0
|
16.10.2021, 14:14 | |
16.10.2021, 14:14 | |
Помогаю со студенческими работами здесь
6
Подключение к облаку через подключение сетевого диска в проводнике - не работает Подключение к серверу через удалённое подключение к рабочему столу из интернета Подключение заголовочных файлов и файлов реализации Что означает extern "C" или extern "C++"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |