C++Builder
Начало
Форум
Помощь
Войти
Регистрация
C++Builder
>
Forum
>
Вопросы программирования
>
Общие вопросы программирования в C++Builder
>
Включение файлов в проект.
Страниц: [
1
]
Вниз
Печать
Автор
Тема: Включение файлов в проект. (Прочитано 5559 раз)
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Включение файлов в проект.
«
:
05 Март 2011, 06:19:59 »
Подскажите, пожауйста, какой-нибудь более быстрый способ включения большого количества файлов в новый проект, чем по одному (Menu->Project->Add to project->.....). Когда-то видел информацию об этом в форуме, но сейчас по поиску найти не смог. Смысл: предполагается создание нескольких проектов с общими набороми файлов исходных текстов.
Записан
Tantos
А ты воспользовался поиском перед тем, как спросить?!
Давний друг
Сказали спасибо: +350/-28
Offline
Сообщений: 2181
Re: Включение файлов в проект.
«
Ответ #1 :
05 Март 2011, 06:30:38 »
Вы не поверите, но можно добавлять БОЛЬШЕ одного файла за раз через Menu->Project->Add to project->, удерживая клавишу Shift или Ctrl или выделяя мышкой...
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #2 :
05 Март 2011, 09:37:29 »
Спасибо, конечно, но, естественно, я знаю о такой возможности. Речь идет о том, что общие файлы распологаются тематически в разных дирректориях. Для разных проектов разные наборы файлов, но имеются и общие. Пересечение в наборах общих файлов различно. Имеются устойчивые группы, кот орые подключаются полным набором.
Меня интересует, можно ли за набором закрепить имя переменной и подключать файлы в проект указанием этой переменной. Мне кажется, я встречал упоминание об этом на форуме. Пространствами имен я не пользуюсь.
Записан
Tantos
А ты воспользовался поиском перед тем, как спросить?!
Давний друг
Сказали спасибо: +350/-28
Offline
Сообщений: 2181
Re: Включение файлов в проект.
«
Ответ #3 :
05 Март 2011, 09:58:35 »
Может, проще подключить требуемые файлы в один файл? Который кинуть в \include и подключать по необходимости?
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #4 :
05 Март 2011, 10:21:19 »
Так и делаю. Вопрос совсем не в этом. При создании нового проекта приходится много лазить по Menu->Project->Add to project->. Занимает у меня более 2-х часов интенсивного педалирования с перерывами на компилирование и просмотр очередных сообщений редактора на неразрешенные внешние ссылки. Этого я хочу избежать. (Если файл не включен в проект, по используемым, содержащихся в нем функциям, методам объектов выдается сообщение о неразрешенной внешней ссылке).
Может я чего-то не знаю?
Может есть другой подход?
Записан
code doctor
... лучше с умным потерять ...
Участник
Сказали спасибо: +95/-13
Offline
Сообщений: 712
когда очень хорошо - тоже плохо ...
Re: Включение файлов в проект.
«
Ответ #5 :
05 Март 2011, 15:09:26 »
ага , есть - добавить пути в переменные окружения и инклюдить
Цитировать
При создании нового проекта приходится много лазить по Menu->Project->Add to project->.
это ж надо так издеваться над ИДЕ , а можно списочек добавляемых файлов ?
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #6 :
05 Март 2011, 19:22:41 »
В чем состоит издевательство?
Список слишком длинный. Все, что придумывал, делал в отдельном файле. Но, может покажусь тупым, но что такое переменные окружения?
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #7 :
05 Март 2011, 19:24:24 »
Как делать эти переменные?
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #8 :
05 Март 2011, 20:08:34 »
Нашел в инете о PATH. Как в нее добавить путь. Сейчас буду пробовать.
Записан
code doctor
... лучше с умным потерять ...
Участник
Сказали спасибо: +95/-13
Offline
Сообщений: 712
когда очень хорошо - тоже плохо ...
Re: Включение файлов в проект.
«
Ответ #9 :
05 Март 2011, 21:57:30 »
Цитировать
добавить пути в переменные окружения
имелось ввиду
Include Path
в настройках Билдера
Цитировать
списочек добавляемых файлов
да , не детализировал - вы вручну добавляете файлы , относящиеся к сторонним компонентам, или Билдер не видит файлы типа
ClipBrd.hpp
,
Graphics.h
и т.п.?
Записан
Hammersoft
Участник
Сказали спасибо: +23/-2
Offline
Сообщений: 167
Re: Включение файлов в проект.
«
Ответ #10 :
06 Март 2011, 00:42:21 »
Серьезный проект! А как происходит резервное копирование? И что такое умное делают эти библиотеки?
Записан
code doctor
... лучше с умным потерять ...
Участник
Сказали спасибо: +95/-13
Offline
Сообщений: 712
когда очень хорошо - тоже плохо ...
Re: Включение файлов в проект.
«
Ответ #11 :
06 Март 2011, 01:24:26 »
Цитата: Hammersoft от 06 Март 2011, 00:42:21
Серьезный проект! А как происходит резервное копирование? И что такое умное делают эти библиотеки?
интересно, а сам понял, что сказал...
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #12 :
06 Март 2011, 12:06:50 »
Что-то я запутался. Интересно, можно в принципе на уровне препроцессора определить переменную Path (Include Path в настройах билдера я не имею ввиду).
Цитата: Hammersoft от 06 Март 2011, 00:42:21
Серьезный проект! А как происходит резервное копирование? И что такое умное делают эти библиотеки?
Двадцать лет (или больше) реализую глупые научные идеи, описанные в
http://Photoelastic.narod.ru
http://photoelasticity.narod.ru
Резервное копирование произвожу примитивно. Все держу в одном каталоге и полностью его сбрасываю в backup, изредка на оптический диск. Мне известно о существовании "умных" средств, хранящих только изменения. Лет восемь назад пользовался работая на фирме. Размер библиотеки менее 100 метров. Не хочу замарачиваться ни с чем умным.
И все-таки, можно как-нибудь определить все пути в программе на уровне препроцессора?
Сейчас пришла простая мысль в головупросто запомнить строку пути из настроек билдера в текстовом файле. В новом проекте просто копировать ее в include Path. С вашей точки зрения хорошая идея?
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #13 :
06 Март 2011, 13:19:02 »
Прошу прощения, уважаемый "Доктор кода". Не ответил на Ваш вопрос. Не видит билдер мои файлы с исходными текстами (*.h и *.cpp), если я их не присоединяю к проекту. Сейчас поэксперементировал. При присоединении к проэкту, автоматически добавляется путь в include Path. Если добавить путь, то не надо и включать файлы в прект.
Записан
Asher
Администратор
Сказали спасибо: +111/-5
Offline
Сообщений: 425
Re: Включение файлов в проект.
«
Ответ #14 :
06 Март 2011, 16:02:14 »
Привет.
то, что уже устоялось объедините в отдельный проект и сделайте из него lib(один или несколько). все требуемые для дальнейшей работы функции вынесите в отдельные, по смыслу, заголовочники. Их и будете подключать в требуемых местах основной программы через #include, а полученные lib'ы включать либо в проект, либо в основном модуле через #pragma comment(lib,"mylib.lib").
Записан
code doctor
... лучше с умным потерять ...
Участник
Сказали спасибо: +95/-13
Offline
Сообщений: 712
когда очень хорошо - тоже плохо ...
Re: Включение файлов в проект.
«
Ответ #15 :
06 Март 2011, 18:22:15 »
Цитата: tsl от 06 Март 2011, 13:19:02
Не видит билдер мои файлы с исходными текстами (*.h и *.cpp), если я их не присоединяю к проекту. Сейчас поэксперементировал. При присоединении к проэкту, автоматически добавляется путь в include Path. Если добавить путь, то не надо и включать файлы в прект.
ага, многие думают - кинул файл в папку с проектом, и все тип-топ...
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #16 :
06 Март 2011, 21:59:59 »
....что тут скажешь... перестал думать о программировании. Думаю только о задаче.
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #17 :
07 Март 2011, 12:19:19 »
У меня ничего не получилось. Редактор все равно пишет неразрешенную внешнюю ссылку на не включенные в проект файлы. Все пути прописаны и в include path и в Lib.
В чем дело?
Записан
Kray74
Посты на падонкаффском принципиально не читаю.
Участник
Сказали спасибо: +81/-1
Offline
Сообщений: 366
Re: Включение файлов в проект.
«
Ответ #18 :
07 Март 2011, 15:52:11 »
Все *.cpp файлы нужно либо включать в проект, либо, как сказал
Asher
компилить в отдельный lib-файл и подключать его с помощью #pragma comment(lib, "libname"), либо компилить в *.obj-файлы и подключать через #pragma link "objname".
Для заголовочных файлов достаточно указать Include Path и прописать соответствующий #include
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #19 :
07 Март 2011, 16:02:22 »
Грусно это, но спасибо.
Записан
Asher
Администратор
Сказали спасибо: +111/-5
Offline
Сообщений: 425
Re: Включение файлов в проект.
«
Ответ #20 :
08 Март 2011, 09:28:46 »
Привет.
Нарезание проекта на отдельные lib'ы позволяет отделить сущности и проконтролировать все связи между модулями, учтенные и неучтенные, и повысит гибкость использования. lib'ы можно включать друг в друга. Бонусом станет уменьшившееся время компиляции. Время линковки без изменений. Это будет первыми шагами к созданию dll'ей в будущем.
Записан
tsl
Давний друг
Сказали спасибо: +2/-2
Offline
Сообщений: 95
Re: Включение файлов в проект.
«
Ответ #21 :
08 Март 2011, 11:37:12 »
С праздником всех женщин, читающих сообщение!!!!
Теперь по теме:
Я до сих пор переодически выполняю пошаговую компиляцию. Изредка нахожу не то чтобы ошибки, но непрятности кода, которые в некоторых случаях приволдят к ошибкам. Исправляю их. Держать откомпилированный вариант (т.е. lib) трудно.
Записан
Kray74
Посты на падонкаффском принципиально не читаю.
Участник
Сказали спасибо: +81/-1
Offline
Сообщений: 366
Re: Включение файлов в проект.
«
Ответ #22 :
08 Март 2011, 13:05:17 »
Тут могут помочь юнит-тесты. Пишешь отдельный модуль (.h + .cpp), затем пишешь программу для полного тестирования этого модуля, если все тесты прошли, собираешь модуль в .lib-файл.
Записан
code doctor
... лучше с умным потерять ...
Участник
Сказали спасибо: +95/-13
Offline
Сообщений: 712
когда очень хорошо - тоже плохо ...
Re: Включение файлов в проект.
«
Ответ #23 :
08 Март 2011, 16:41:25 »
Можно сделать так:
1. Создать новый пустой проект.
2. Добавить все необходимые файлы , хидеры и т.п..
3. Сохранить в укромное место под именем "MySuperPuperProject_Template.bpr" и иметь его , в хорошем понимании этого слова, как шаблон.
4. При необходимости открываем "MySuperPuperProject_Template.bpr" и сохраняем под именем очередного нового текущего бредового проекта, с которым в дальнейшем и работаем, имея добавленными и инклюденными все необходимые файлы без лазания на коленках по темным закоулкам оччень жесткого диска ...
Сам принцип можно подсмотреть здесь:http://mobbin.ru/programmirovanie/s_builder_kak_uskorit_kompilyaciyu_s_pomoschyu_predkompilirovannyh_zagolovkov.html
«
Последнее редактирование: 09 Март 2011, 07:22:37 от code doctor
»
Записан
Страниц: [
1
]
Вверх
Печать
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Вопросы программирования
-----------------------------
=> Общие вопросы программирования в C++Builder
=> Программирование с FMX
=> Работа с базами данных в C++Builder
=> Windows API
=> Технологии COM/DCOM, ActiveX
=> Аспекты и идеология профессиональной разработки ПО
=> Компьютерное железо и системное администрирование
=> студенческий городок
-----------------------------
Обсуждение материалов на сайте
-----------------------------
=> Обсуждений статей на сайте
=> Обсуждение материалов из файлового архива
=> Компоненты сторонних разработчиков к С++Builder
-----------------------------
Работа сайта и новости
-----------------------------
=> Ищу/предлагаю работу
=> Новости из мира программирования
=> Новости - события календаря
=> Голосования
=> Компьютерный юмор и приколы
=> Работа сайта
=> Флейм
-----------------------------
FAQ - частозадаваемые вопросы/ответы
-----------------------------
=> FAQ, общие вопросы, посвящённые C++Builder
=> FAQ, вопросы по базам данных
=> FAQ, вопросы по компонентам
Загружается...