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

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

Войти
Регистрация
Восстановить пароль
 
Sky-WaLkeR
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
#1

Библиотека (.h + .cpp) в папку include компилятора - C++

24.05.2013, 17:06. Просмотров 814. Ответов 5
Метки нет (Все метки)

Здравствуйте!

Написал библиотеку с вынесенным в разные файлы интерфейсом и реализацией (lib.h и lib.cpp), всем функциям в .h приписал extern. Хочу, чтобы лежало это все не в папке с проектом, а в общей include-папке компилятора (gcc) - используется много где, неохота в каждый бросать. Переношу, подключаю h - ругается на Not defined (что и правильно - не видит файла .cpp). Подключаю .h и .cpp - все хорошо. Но подключать и h и cpp - некрасиво как-то...

Как решить данную проблему? Весь гугл перерыл, но не нашел решения (когда именно в include-папке лежит и h и cpp, а подключается только h).

Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2013, 17:06     Библиотека (.h + .cpp) в папку include компилятора
Посмотрите здесь:

Непонятная ошибка компилятора Dev-Cpp - C++
#include <cstdlib> #include <iostream> using namespace std; void s(int a) { cout<<a<<endl; } class matrix ...

Как в DEV C++ добавить опцию компилятора *cpp? - C++
Друзья! У меня в папке несколько файлов с расширением cpp и они все должны быть включены в компиляцию. Так, а по умолчанию компилятор...

Подключение файла #include <name.cpp> - C++
Здравствуйте. Скажите, если программа состоит из нескольких файлов, можно-ли подключать cpp - файлы, или подключать можно только хедеры? ...

Взаимный include без использования cpp-файлов - C++
Возможно ли связать два класса реализованных в .h-файлах, чтобы не приходилось переносить реализацию в файлы cpp? Эти 2 класса: ...

Библиотека cpp-bigint - C++
Добрый вечер. Подскажите пожалуйста,как подключить к Visual Studio и пример ее использования,как типы данных называть и т.д . Искала на...

Ошибка компилятора "In file included from fig11_08.cpp" - C++
Ошибка выскакивает в файле fig11_08.cpp на 8 строке. Уже второй раз сталкиваюсь с этим и понял, что так дело больше не пойдет, надо...

создал "circle.h" файл. При компиляции Cpp файла выдаёт unable to open include file 'circle.h' - C++
Помогите разобраться в чём проблема? Был создан circle.h, а при компиляции cpp файла ругается. Может где путь какой нужно прописать. А...

#include "my.cpp" - C++
Меня интересует одна вещь: почему нельзя включать в проект файлы с расширением срр? Почему все негативно к этому относятся?

С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp - C++
С помощью командной строки &gt;namberstr f1.cpp Определить число строк в файле с именем f1.cpp

Чем отличается #include <cstring>, #include <string> и #include <string.h>? - C++
Доброго времени суток :) Пишу свой класс и мне для нужны функции для работы со строками. Когда подключаю #include &lt;string&gt; все что мне...

Библиотеки в CPP. Ошибка компиляции | CPP - C++
Доброго вечера! Появился один вопросик недавно. Начал юзать библиотеку &lt;windows.h&gt; для использования такой команды как &quot;system&quot; в коде....

Подключение файлов main.cpp some.cpp some.h - C++
Всем привет, программа разделенна на три файла poly.cpp main.cpp poly.h Кто мог бы объяснить как происходит подключение этих файлов, и как...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
24.05.2013, 17:21     Библиотека (.h + .cpp) в папку include компилятора #2
Цитата Сообщение от Sky-WaLkeR Посмотреть сообщение
всем функциям в .h приписал extern.
Они и так extern по умолчанию.
Цитата Сообщение от Sky-WaLkeR Посмотреть сообщение
Хочу, чтобы лежало это все не в папке с проектом, а в общей include-папке компилятора (gcc)
Не стоит.
Указать gcc, где лежат файлы можно с помощью опции -I (-Ipath/to/your/files).
Sky-WaLkeR
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
24.05.2013, 17:23  [ТС]     Библиотека (.h + .cpp) в папку include компилятора #3
Спасибо за быстрый ответ. Сейчас попробую и отпишусь...
BAADF00D
Заблокирован
24.05.2013, 17:24     Библиотека (.h + .cpp) в папку include компилятора #4
Цитата Сообщение от Sky-WaLkeR Посмотреть сообщение
используется много где, неохота в каждый бросать
не легче ли собрать win-dll or nix-so однажды и с ней линковаться?
Sky-WaLkeR
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
24.05.2013, 17:27  [ТС]     Библиотека (.h + .cpp) в папку include компилятора #5
Цитата Сообщение от BAADF00D Посмотреть сообщение
win-dll or nix-so
Был бы не против, если не одно но: не Linux и не Windows, а AVR (avr-gcc 4.8.0). Микроконтроллер программирую.

Цитата Сообщение от gray_fox Посмотреть сообщение
-I (-Ipath/to/your/files).
А вот тут возникает другая засада, собственно ради ее решения я и перенес в два файла, раньше все в .h было. Дело в том, что у меня в проекте несколько .cpp включают эту библиотеку, и происходит Multiple definition ошибка. То есть данный метод ничем не отличается от расположения в include...
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
24.05.2013, 19:15     Библиотека (.h + .cpp) в папку include компилятора #6
Цитата Сообщение от Sky-WaLkeR Посмотреть сообщение
Дело в том, что у меня в проекте несколько .cpp включают эту библиотеку, и происходит Multiple definition ошибка.
Ну так в чём проблема, объявления в .h, определения в .cpp. Компилируете библиотеку, получаете объектный файл (можно сделать и в lib). Потом в проекте там, где нужны объявления из библиотеки, включаете .h. Компилируете проект, указывая в -I путь к папке с .h - получаете набор объектных файлов. Потом линкуете все объектные файлы - из проекта и либы.
Yandex
Объявления
24.05.2013, 19:15     Библиотека (.h + .cpp) в папку include компилятора
Ответ Создать тему
Опции темы

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