Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
9 / 9 / 6
Регистрация: 14.09.2016
Сообщений: 41

Как сделать на XE8 header-файл не в каталоге проекта?

14.10.2016, 17:17. Показов 1514. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди помогите! Нужно header файл расположить в другом каталоге, чем проект.
В Project Options-> C++ (Shared Options) -> Include Path выбираю и добавляю каталог.
При компиляции выдаёт warning типа
[bcc32 Warning] W8123 Path 'такой-то' not found - path ignored in option '-I'
error на header файле
Error] E3Object.cpp(13): E2209 Unable to open include file 'e_common.h'
Что делать? В 5 и 6 Buldere такого не было. Тупо добавляешь каталог, и она все хэдэры оттуда видит, а тут просто бред какой-то.
И ещё объясните потолковей, что такое "inherit from base".

Добавлено через 3 часа 0 минут
Что же вы, товарищчи, не отвечаете?

Неужто никому не приходилось писать библиотек, где сорсы должны лежать в одной папке, инклуды в другой, либы - в третьей?

Я, вот, провёл некое иследование, которое принесло желаемый результат.
Интересующимся предлагаю:

Если напрямую кнопкой включить нужный каталог с инклудами (они же хэдеры) в любых подразделениях (строках): Project Options-> C++ (Shared Options) -> Include Path
то результата НЕ БУДЕТ, причём при любых инхеритах.

Если же вручную написать относительный (от сорсов) каталог, типа:
..\..\Include\
то РАБОТАЕТ!!! причём будучи вписан в любую строку, при любых инхеритах

Это, товарищчи, на мой взгляд, очевидный косяк разработчиков, за который надо, ну, если не выпороть, то пригрозить хорошей поркой.

Есть ещё второй вариант, чтоб не думать, как будет выглядеть относительный каталог:
Добавить в проект один из хэдер файлов, а потом его тут же ремувить из проекта. Нужная директория останется в опциях!

Эмбаркадеро к ответу!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.10.2016, 17:17
Ответы с готовыми решениями:

Как сделать чтобы файл всегда сохранялся в каталоге с exe-файлом?
… Public REC: TSomeRec procedure LoadFile(Buffer: TMemo; const FileName: TFileName); … LoadFile(Memo1, OpenDialog1.FileName); ...

Сравнить файл в каталоге со всеми остальными файлами в этом каталоге, результат вывести в txt-файл
Здравствуйте! Подскажите, как сравнить файл в каталоге со всеми остальными файлами(в этом каталоге) и вывести результат в отдельный txt...

Вызвать на выполнение созданные в функции main проекта, подключив header файл с описанием созданных функций
Помогите решить вот такую задачку, особые проблемы у меня возникают в работе с heder файлом. Создать библиотечный файл в котором...

5
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
14.10.2016, 19:22
У Вас один h-файл или вместе с cpp?
0
9 / 9 / 6
Регистрация: 14.09.2016
Сообщений: 41
14.10.2016, 22:46  [ТС]
d7d1cd
h-файл отдельно и cpp-файл отдельно. Это нужно для создания библиотеки функций.
Мы же ведь пишем не только формы и юниты. Но, иногда наши программы пользуются уже ранее написанными функциями, то есть библиотекой. Декларации этих функций находятся в h-файлах. Которые не удобно клонировать во вновь создаваемые папки с новыми программами. Ведь библиотека может подвергаться модификации, и тогда появится множество h-файлов с одинаковыми названиями и разным содержанием. Поэтому удобно их хранить в какой-то особой папке, на которую и ссылаться.
Я так собственно и делал в 5 и 6 Buildere. А тут вот перешёл на XE8 и столкнулся с проблемой.
0
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
14.10.2016, 23:08
Если у тебя юнит (то есть h и cpp файлы), то добавь cpp файл в проект командой Add...
0
9 / 9 / 6
Регистрация: 14.09.2016
Сообщений: 41
14.10.2016, 23:32  [ТС]
d7d1cd
У меня не юнит.
Три отдельных cpp-файла используют отдельный h-файл.
Этот h-файл должен быть затем в доступе у различных программ.
Также как системные h-файлы типа stdio.h vcl.h и прочие. Они находятся не в рабочем каталоге, а где-то там в директориях Эмбаркадеро. Но наши ссылки на них понимаются компилятором.
Также и я хочу, чтобы компилятор знал, где ему взять указанный мной h-файл, который я использую в разных программах.
0
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
15.10.2016, 13:14
Сохраняй свой хидер с уникальным именем, в срр файле пишешь полный путь к нему.
К примеру, я положил свой my_far.h в "C:\Program Files\Embarcadero\RAD Studio\7.0\include", в срр прописал
C++
1
#include <my_far.h>
не в кавычках, а в уголках, типа путь к общей h директории.
Норм работает.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2016, 13:14
Помогаю со студенческими работами здесь

Как сделать из проекта установочный файл?
Закончил проект. Теперь нужно как-то добавить установщик, чтобы пользователь смог установить программу себе на компьютер. Как это сделать?

Как сделать исполняемый файл из проекта в Eclipse?
Написал пробную программку в Eclipse Как мне компилировать в исполняемый файл, чтобы запускалась без IDE?

Как сделать Random в Android-приложении? (XE8)
всем здрасте, проблема такая... вот подключенные библиотеки #include &lt;iostream&gt; #include &lt;fmx.h&gt; #pragma hdrstop ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[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