Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
12 / 12 / 3
Регистрация: 09.09.2009
Сообщений: 35

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

27.01.2010, 00:21. Показов 2605. Ответов 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;
помогите плз)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.01.2010, 00:21
Ответы с готовыми решениями:

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

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

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

5
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
27.01.2010, 00:24
убери весь код из h
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
27.01.2010, 00:26
Возникает оно понятное дело из за чего. Мне щас тяжело будет объяснить как это грамотно все исправить. Попробуйте просто обернуть примерно так:
C++
1
2
3
4
5
6
#ifndef FIRM_CLASS
#define FIRM_CLASS
class Firm {
.......
}
#endif
0
12 / 12 / 3
Регистрация: 09.09.2009
Сообщений: 35
27.01.2010, 00:41  [ТС]
убери весь код из h
вся суть в том что описание должно бить в h файлах((

C++
1
2
3
4
5
6
#ifndef FIRM_CLASS
#define FIRM_CLASS
class Firm {
.......
}
#endif
непомогло((
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
27.01.2010, 03:46
KrTaras, к каждому cpp подключай только те h, которые ему действительно необходимы. Не надо все подключения сливать в один большой h файл.
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
27.01.2010, 14:34
KrTaras,

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

у меня разве написано "убери описание из h"?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.01.2010, 14:34
Помогаю со студенческими работами здесь

Ошибка при подключение Статической библиотеки sfeMovie
Здравствуйте Возникает такая проблема, если sfeMovie компилировать в режиме static то вылезают ошибки: Ошибка LNK2001 неразрешенный...

Подключение библиотеки
Пишу if (Button == mbLeft) Form1-&gt;Close(); Говорит Unit1.cpp(27): E2451 Undefined symbol 'Button' таже лажа с Key='*'...

rxlib. Подключение библиотеки
Народ, привет. Кто нибудь знает, как можно подключить библиотеку rxlib? Вот ссылка на файл:...

подключение dll библиотеки
как подключить dll библиотеку в билдер с++ через опции проекта

Подключение библиотеки созданной в MinGW
Идея в следующем компилировать статическую библиотеку на MinGW с использованием C++11, и подключать её к Builder 2007. Ситуация такая ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru