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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
#1

Создание статической библиотеки из нескольких файлов с несколькими заголовочными файлами - C++

24.12.2013, 15:10. Просмотров 619. Ответов 9
Метки нет (Все метки)

В общем, имеется несколько классов, как водится - каждый имеет .h/.cpp.
Решил собрать все это дело в библиотеку, но вот беда - все равно приходится таскать помимо lib все хидеры.
Как можно этого избежать? К примеру, собрать все включения в отдельный .h, и таскать только его (помимо lib)? ибо он все равно требует заголовочные файлы, как будто их не видит.

Добавлено через 17 часов 3 минуты
Неужели никто не сталкивался?)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2013, 15:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание статической библиотеки из нескольких файлов с несколькими заголовочными файлами (C++):

Как пользоваться заголовочными файлами и использовать несколько исходных файлов? - C++
Как пользоваться несколькими файлами cpp, и заголовками h , в Visual Studio WIN32 C++ Дайте пожалуйста инфу, или статью , как...

Создание статической библиотеки - C++
Вообщем надо создать статическую библиотеку lib для классов. Классов очень много и они разбиты по хедерам .h . Я создал новый проект в...

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

Создание статической библиотеки lib - C++
Привет всем решил попробовать создать статическую библиотеку и связать её с каким-нибудь проектом.Для начала решил научиться, а потом...

Создание статической библиотеки в MinGw(code::blocks) - C++
Вопросы: 1. почему создаётся main.с , а не .cpp. Хочется писать на с++ 2. почему нет никаких .h файлов.как мне потом написать #include...

Непонятка с заголовочными файлами - C++
game.h #ifndef _GAME_H_ #define _GAME_H_ #include <gl\gl.h> #include <gl\glu.h> #pragma comment (lib,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.12.2013, 15:16 #2
в хедере ф-ции объявили, в lib реализация, куда еще меньше то

Добавлено через 1 минуту
Цитата Сообщение от monolit Посмотреть сообщение
К примеру, собрать все включения в отдельный .h, и таскать только его (помимо lib)?
так а что мешает то? все объявления ф-ций, классов, типов данных в один файл собрать?
0
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
24.12.2013, 15:48  [ТС] #3
Для каждого класса свои .h+.cpp
Вы предлагаете запихать все содержимое всех хедеров и cpp в один .h/.cpp файл?
если учесть, что код я иногда изменяю, и все такое, то это не очень удобно. Так вот нужно что-то сделать с этой кучей .h - к примеру, как писал выше, их ПОДКЛЮЧИТЬ в отдельный .h. Но в этом случае программа все равно требует эти самые подключенные .h (все). Не верю, что выхода нет, вон другие библиотеки видел, там количество файлов не чета моему (в исходниках), а носить нужно всего lib + h + dll;
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.12.2013, 15:54 #4
собирайте dll тогда
0
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
24.12.2013, 15:59  [ТС] #5
Это придется для каждой функции писать __declspec(dllexport) тогда?
0
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.12.2013, 16:00 #6
получается так , сам не юзал, к сожалению, dll-ки
0
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 667
Завершенные тесты: 1
24.12.2013, 16:09  [ТС] #7
В общем, ладно с этим declspec, с несколькими заголовочными то чего делать?

Добавлено через 17 секунд
Вот в чем вопрос..
0
bobrik_
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 1
20.12.2016, 15:21 #8
У меня была похожая проблема в MSVS2015. Решил так:
мегабиблиотека.lib кидаем в папку "ваш_путь_до_студии\Microsoft Visual Studio 14.0\VC\lib",
мегабиблиотека.h в папку "ваш_путь_до_студии\Microsoft Visual Studio 14.0\VC\include"
и подключаем по мере необходимости в проекты:
#include <мегабиблиотека.h>
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
20.12.2016, 16:01 #9
Соберите всё в один проект и подключайте его к решению по мере необходимости.
0
GbaLog-
Любитель чаепитий
2772 / 1294 / 311
Регистрация: 24.08.2014
Сообщений: 4,588
Записей в блоге: 1
Завершенные тесты: 2
20.12.2016, 17:03 #10
Можно так:
class1.hpp
class1.cpp

class2.hpp
class2.cpp

classN.hpp
classN.cpp

stdafx.hpp
C++
1
2
3
#include "class1.hpp"
#include "class2.hpp"
#include "class3.hpp"
main.cpp
C++
1
2
3
#include "stdafx.hpp"
 
int main() {}
Но, ИМХО, включение всех классов даже там, где они не нужны неправильно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2016, 17:03
Привет! Вот еще темы с ответами:

Работа с заголовочными файлами - C++
Приветствую! Простейшая программа с подключением заголовочного файла выдаёт следующие ошибки: 1) main.cpp: (.text+0x32):...

Ошибка с заголовочными файлами - C++
error C1014: слишком много включаемых файлов: глубина = 1024

В чем разница между заголовочными файлами и библиотеками - C++
В чем разница между заголовочными файлами и библиотеками? И, вообще, какова структура библиотеки в С++?

Подключение статической библиотеки в VS - C++
Скачал проект, он использует x.lib. В свойствах проекта, в разделе Linker, поле Additional Library прописан путь к библиотекам. Но нигде...


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

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

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