Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
KrTaras
12 / 12 / 1
Регистрация: 09.09.2009
Сообщений: 35
#1

Подключение библиотеки - C++

27.01.2010, 00:21. Просмотров 991. Ответов 5
Метки нет (Все метки)

Здраствуйте. Как мне подключить библиотеку к проекту только 1 раз. тоесть есть у меня 4 срр файла каждий поключаен набор библиотек
C++
1
2
3
4
5
6
7
8
9
10
11
//lib.h
#pragma once
#include <iostream>
#include <conio.h>
#include <vector>
#include "Firm.h"
#include "Point.h"
#include "Penta.h"
#include "Lack.h"
#include "Akryl.h"
.....
клас Firm написаний как синглтон(создаетса только 1 обект)
возникает ошибка
1>Main.obj : error LNK2005: "private: static class Firm * Firm::instance" (?instance@Firm@@0PAV1@A) already defined in Akryl.obj
сам мейн
C++
1
2
3
4
5
6
7
8
#include "Lib.h"
int main()
{
    Firm* f = Firm::getInstance();
    Point* p1 = new Penta(f);
    Point* p2 = new Lack(f);
    Point* p3 = new Akryl(f);
...
другой клас
C++
1
2
3
4
5
#include "Lib.h"
Akryl::Akryl(Firm* f)
{
    f->Subscribe(this);
}
синглтон
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once
class Point;
class Firm
{
    std::vector<Point*> point;
    static Firm* instance;
    Firm(){};
public:
    static Firm* getInstance()
    {
        if(!instance)
        {
            instance = new Firm;
        }
        else
        {
            return instance;
        }
    }
    void Subscribe(Point*);
    void Unsubscribe(int);
    void Notyfy(int);
    void Reset();
};
Firm *Firm::instance = NULL;
помогите плз)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2010, 00:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подключение библиотеки (C++):

Подключение библиотеки libcurl - C++
Всем привет. Решил поработать с библиотекой libcurl. Скачал архив, распаковал на рабочий стол. Не пойму что делать дальше. В интернете в...

Подключение библиотеки ffmpeg к проекту - C++
Здравствуйте. Я начал разбираться с библиотекой ffmpeg. Но не пойму как ее можно подключить к проекту в С++ и можно ее подключить и...

Подключение библиотеки в процессе выполенния программы - C++
имеется следующая задача - в процессе выполнения прога формирует данные на основе которых проиходит выбор функций дальнейших обработок....

Библиотеки - C++
&quot;stdafx.h&quot; вводится через &quot; &quot;, а вот &lt;iostream&gt; через &lt;&gt;. Я знаю, что и iostream можно ввести через &quot; &quot;. Но в чём...

Библиотеки - C++
Доброго времени суток всем!!! Появилась одна идея...в которой используется проверка орфографии... Писать анализатор с нуля не хочется,...

Графические библиотеки - C++
Добрый день. Недавно решил начать программировать какую-нибудь простенькую 3D игру, но столкнулся с проблемой. Не могу решить какую...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
27.01.2010, 00:24 #2
убери весь код из h
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
27.01.2010, 00:26 #3
Возникает оно понятное дело из за чего. Мне щас тяжело будет объяснить как это грамотно все исправить. Попробуйте просто обернуть примерно так:
C++
1
2
3
4
5
6
#ifndef FIRM_CLASS
#define FIRM_CLASS
class Firm {
.......
}
#endif
KrTaras
12 / 12 / 1
Регистрация: 09.09.2009
Сообщений: 35
27.01.2010, 00:41  [ТС] #4
убери весь код из h
вся суть в том что описание должно бить в h файлах((

C++
1
2
3
4
5
6
#ifndef FIRM_CLASS
#define FIRM_CLASS
class Firm {
.......
}
#endif
непомогло((
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
27.01.2010, 03:46 #5
KrTaras, к каждому cpp подключай только те h, которые ему действительно необходимы. Не надо все подключения сливать в один большой h файл.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
27.01.2010, 14:34 #6
KrTaras,

вся суть в том что описание должно бить в h файлах((

у меня разве написано "убери описание из h"?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2010, 14:34
Привет! Вот еще темы с ответами:

Кроссплатформенность и мультимедиа-библиотеки - C++
Вопрос первый. Решил с другом сделать маленький проект для облегчения обучения английского а именно увеличение словарного запаса. Решили...

Сборка библиотеки pHash - C++
Всем привет! Возникла необходимость воспользоваться библиотекой pHash . Нужна она для вычисления хэшей изображений, аудио или видео. В...

Поиск библиотеки для С/С++ - C++
Доброго времени суток. Необходима библиотека(поменьше и попроще), содержащая функции для работы с растровыми изображениями. Нужен...

Как задать версию библиотеки - C++
Заранее прошу прощения если разместил тему не там. Суть проблемы. Пишу статическую библиотеку под линукс, в частности убунту. В...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.01.2010, 14:34
Ответ Создать тему
Опции темы

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