![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Kolia |
|
||||||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 132 Регистрация: 11.7.2003 Где: Вильнюс Репутация: нет Всего: нет |
Программу компилит, а линковать не хочет. Вот какой еррор выкидывает.
Это я только один показал, а таких куча. Из истории вопроса… Писал я программу. Классы описывал в разных хедер файлах. Методы класса описывал в том же хедере. Не в самом теле класса, а ниже:
Таким образом программа исправно компилировалась и т.п., то есть РАБОТАЛА (проверено). Думаю, дай ка реализацию методов в отдельный файл для каждого класса помещу
Казалось копи-пасте, ан нет, что-то не так. В MSDN‘е нашел инфу об этой ошибке, только толком ничего не понял. Может кто сталкивался, знает кто тут собака закопана и как ее откапать. Заранее благодорствую --------------------
Риспект |
||||||
|
|||||||
| Alastis |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
А есть такая директива в хедере:
? ну или
если компилер не майкрософтовский... еще такая беда бывает, когда пытаются подключить где то в других файлах cpp файл еще можно в Linker/Command Line/Additional Options указать /FORCE:MULTIPLE, но это явно неудачное решение проблемы... -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
||||
|
|||||
| Fire-Plug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
Скорее всего ошибка из-за C&P технологии, т.к. судя по сообщению линкера ф-ция CFileData::OpenFileForWrite(void) уже имеется в объектном файле Data.obj. Попасть туда она могла если:
1) реализация метода осталась в каком-то из заголовочных файлов, к-рый включается и в FileDB.cpp и в Data.cpp. 2) Оба cpp-файла содержат реализацию метода CFileData::OpenFileForWrite(void) 3) файл Data.obj помещен в статич. библиотеку, и одновременно исх. код CFileData::OpenFileForWrite находится в модуле FileDB.cpp. (хотя, судя по описанию - в данном случае этого нет) inline - вряд ли, т.к. inline-ф-ция должна быть заменена соотв. объектным кодом, после чего это уже не ф-ция в смысле редактирования связей. Директива #pragma once (или #ifndef...) влияет только на компиляцию данного cpp-файла. Если в заголовке сидит реализация ф-ции, то в другом объектном файле, исх. код к-рого включает данный заголовок, эта ф-ция также возникнет. Добавлено @ 09:02 Ну, бывают подобные проблемы в VC, связанные с порядком подключения библиотек. Как сообщает MSDN:
--------------------
Объясни другому - поймешь сам (Народная примета) |
|||
|
||||
| Kolia |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 132 Регистрация: 11.7.2003 Где: Вильнюс Репутация: нет Всего: нет |
Чудеса да и только. Сегодня утром открыл этот самый проект, так он еррор только по одному поводу выбил. У меня в хедере статик переменная была инициализована...
Ну с этим понятно, забыл тоже в срр кинуть. Но какого ... он раньше столько ерроров кидал? А тут закрыл-открыл, и ерроры исчезли... --------------------
Риспект |
|||
|
||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
ну так иногда и компьютер глючит по страшному, а перегрузишь и все путем
-------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| Kolia |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 132 Регистрация: 11.7.2003 Где: Вильнюс Репутация: нет Всего: нет |
Делал. Не помогало --------------------
Риспект |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |