Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с include'ом vector'а, Ошибка линкования 
:(
    Опции темы
Altaire
Дата 23.5.2010, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.5.2010

Репутация: нет
Всего: нет



Проблема аключается в том, что при include'ировании <vector> в объявлении класса выдаётся ошибка дупликации некоторых методов vector'а в главном файле и в файле инициализации класса.

Чтобы было более понятно:

Код

//proj_angi.cpp

...
#include "scene.h"

void main()
{
...
}

//scene.h

#ifndef SCENE_H
#define SCENE_H

#include <vector>

class Scene
{
public:
    Scene();
...
};

#endif

//scene.cpp

#include "scene.h"

Scene::Scene()
{
...
}
...


При линковании выдаёт ошибки:

Info :Transferring to C:\BC5\BIN\tlink.exe @C:\BC5\works\proj0000.r$p
Error:  (1,1):std::vector<bool>::insert_aux(std::vector<bool>::iterator,... defined in module scene.cpp is duplicated in module proj_angi.cpp
Error:  (1,1):std::vector<bool>::resize(unsigned int,bool) defined in module scene.cpp is duplicated in module proj_angi.cpp
Error:  (1,1):std::vector<bool>::insert(std::vector<bool>::iterator,const bool far&) defined in module scene.cpp is duplicated in module proj_angi.cpp
Error:  (1,1):std::vector<bool>::insert(std::vector<bool>::iterator,short,... defined in module scene.cpp is duplicated in module proj_angi.cpp
Error:  (1,1):std::vector<bool>::flip() defined in module scene.cpp is duplicated in module proj_angi.cpp
Error:  (1,1):std::swap(std::vector<bool>::reference) defined in module scene.cpp is duplicated in module proj_angi.cpp
Fatal:  (1,1): Bad object file record in module proj_angi.cpp near module file offset 0x000058A1

Помогите, чем сможете...

PM MAIL   Вверх
SVN74
Дата 23.5.2010, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



#include "scene.cpp"

PM MAIL WWW   Вверх
Altaire
Дата 23.5.2010, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.5.2010

Репутация: нет
Всего: нет



Нет, то же самое...
PM MAIL   Вверх
SVN74
Дата 23.5.2010, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



А что у вас еще инклюдится в proj_angi.cpp?, также переправьте #include <vector> на #include <vector.h>
Бюлдер любит полные имена





Это сообщение отредактировал(а) SVN74 - 23.5.2010, 22:46
PM MAIL WWW   Вверх
Altaire
Дата 23.5.2010, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.5.2010

Репутация: нет
Всего: нет



Код

#include <conio.h>
#include <graphics.h>
#include "robot.h"
#include <bios.h>
#include <dos.h>
#include <iostream.h>
#include "bullet.h"


Ничто из этого(и robot и bullet) не зависит от вектора.
PM MAIL   Вверх
Alek86
Дата 23.5.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



SVN74, что это еще за извращения, cpp подключать?
может компилер старый, ODR (one definition rule) не поддерживает?

а лучше покажи, как ты именно vector<bool> используешь

Это сообщение отредактировал(а) Alek86 - 23.5.2010, 22:48


--------------------
user posted image    user posted image
PM MAIL   Вверх
Altaire
Дата 23.5.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.5.2010

Репутация: нет
Всего: нет



Полное имя тоже не влияет

Добавлено через 1 минуту и 15 секунд
vector пока вообще не использовал.
Юзаю Borland C++ 5.02
PM MAIL   Вверх
SVN74
Дата 23.5.2010, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Перенесите #include <vector.h> в  scene.cpp

PM MAIL WWW   Вверх
Altaire
Дата 23.5.2010, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.5.2010

Репутация: нет
Всего: нет



Вроде работает, но в объявлении класса требуется объявления vector<Bullet>...
А это уже опять с самого начала...
PM MAIL   Вверх
Alek86
Дата 23.5.2010, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



Altaire, нет ли возможности поменять компилер?


--------------------
user posted image    user posted image
PM MAIL   Вверх
SVN74
Дата 23.5.2010, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Цитата(Altaire @  23.5.2010,  23:06 Найти цитируемый пост)
Вроде работает, но в объявлении класса требуется объявления vector<Bullet>...
А это уже опять с самого начала... 

Проверьте еще раз. Как вы создавали ваш Unit? Может Бюлдер уже добавил его автоматически, отключите объявление  в главном файле и проверьте видимость класса...
PM MAIL WWW   Вверх
Altaire
Дата 23.5.2010, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.5.2010

Репутация: нет
Всего: нет



Alek86, На какой, например?

Это сообщение отредактировал(а) Altaire - 23.5.2010, 23:11
PM MAIL   Вверх
Alek86
Дата 23.5.2010, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



visual studio 2005 или больше


--------------------
user posted image    user posted image
PM MAIL   Вверх
Altaire
Дата 23.5.2010, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 23.5.2010

Репутация: нет
Всего: нет



Приложение основано на BGI графике для DOS, а разработку под DOS Visual Studio, вроде, не поддерживает...

P.S. Visual Studio скорее не компилер, а среда разработки... Хотя это к делу не относится.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0906 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.