Перейти к содержанию
    

Переменные окружения

Здрасти.

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

Поиском их нашел, как сделать их видимыми?

Есть ли переменная окружения, которая указывает пути к заголовочным файлам?

 

PS:

Например переменная окружения указывающая путь к библиотекам: LD_LIBRARY_PS, может и для заголовочных файлов есть что то такое...

Пробовал посмотреть командой env, но она не показывает переменные которые не имеют значения. :(

Изменено пользователем Oops

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Есть ли переменная окружения, которая указывает пути к заголовочным файлам?

 

PS:

Например переменная окружения указывающая путь к библиотекам: LD_LIBRARY_PS, может и для заголовочных файлов есть что то такое...

Пробовал посмотреть командой env, но она не показывает переменные которые не имеют значения. :(

А эти заголовочные файлы есть физически на диске где-то? Ставить переменную на пути к файлам можно, НО не совсем корректно идеологически. Будет тенденция к общей файлопомойке (все хедеры в одном месте). Проще в проекте указать пути к каталогам с хедерами.

Переменных окружения очень много и ВСЕ невозможно знать, т.к. некоторые программы хотят свои переменные окружения.

При более подробной информации о компиляторе, ОС, собираемой задаче можно что-то сказать определенное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В ОС Ubuntu собираю кросс компилятор GCC, чтобы компилировать для целевой архитектуры powerpc.

Да конечно физически файлы на диске есть. Но компилятор их не видит, чтото лезть в исходниках GCC править - как-то страшно, там столько всего. Вот решил пойти по пути наименьшего сопротивления. Теость указать через переменную окружения путь к этим файлам. Вот только не знаю как это сделать. :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В ОС Ubuntu собираю кросс компилятор GCC, чтобы компилировать для целевой архитектуры powerpc.

Да конечно физически файлы на диске есть. Но компилятор их не видит, чтото лезть в исходниках GCC править - как-то страшно, там столько всего. Вот решил пойти по пути наименьшего сопротивления. Теость указать через переменную окружения путь к этим файлам. Вот только не знаю как это сделать. :crying:

Что за компилятор?

Что за кросс-компилятор собираете?

Кто, на каком этапе, и какие файлы не видит?

Переменные окружения здесь не помогут. configure скрипт их переопределит.

Конкретно по powerpc не скажу, не работаю с ним, но подводных камней много.

А binutils уже скомпилен? В пути прописан? Кросс-компилятор под ОС или просто elf? Как указывается --with-headers? Заголовки libc таргет архитектуры есть (и на месте ли)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теость указать через переменную окружения путь к этим файлам. Вот только не знаю как это сделать. :crying:

Напишите скрипт.

Там что-то типа.

 

! /.../bash

PATH= <путь>

export PATH

 

Это на память, если малость ошибся поправьте.

PS. Не забудьте сделать его исполняемым для Вас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Напишите скрипт.

Там что-то типа.

 

! /.../bash

PATH= <путь>

export PATH

 

По моему проще ввести непосредственно в формочку Windows.

на моем компьютере прав кл мышки-> свойства-> дополнительно -> переменные среды.

 

просмотреть командой set без параметров.

;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По моему проще ввести непосредственно в формочку Windows.
Проще, но:
В ОС Ubuntu собираю кросс компилятор GCC,

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В ОС Ubuntu собираю кросс компилятор GCC, чтобы компилировать для целевой архитектуры powerpc.

Да конечно физически файлы на диске есть. Но компилятор их не видит, чтото лезть в исходниках GCC править - как-то страшно, там столько всего. Вот решил пойти по пути наименьшего сопротивления. Теость указать через переменную окружения путь к этим файлам. Вот только не знаю как это сделать. :crying:

переменная PATH не поможет - это для программ.

./configure --help

и смотри что-то вроде

--includedir=DIR C header files [PREFIX/include]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите документацию на компилятор, которым собираете. Для него должны быть указаны используемые переменные окружения (документация по GCC, опция -I при запуске для указания каталогов с хедерами). Посмотрите, что ставит скрипт ./configure. Очень часто пути к заголовочным файлам указываются в makefile для сборки проекта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полезно бывает пути добавлять в profile (это файлы пролога). Там есть общие и юзеровские. Юзеровские - для того, чтобы не замедлять и сеансы других юзеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здрасти.

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

Поиском их нашел, как сделать их видимыми?

Есть ли переменная окружения, которая указывает пути к заголовочным файлам?

Дополнительные заголовочные файлы, как, вообще-то, сказано в подсказке ./configure --help, указываются опцией:

 

./configure --includedir=DIR

 

Ну а чтобы сказать что конкретное, хорошо бы знать командную строку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Меня немножко не было, столько советов - спасибо большое.

Необходимость собирать кросскомпилятор GCC отпала, нашел его вот тут: http://denx.de/en/News/WebHome

Но с GCC хочется всеравно разобраться я попробую сначала Ваши советы, и напишу че и как. :)

 

Раньше можно было свободно скачать с сайта MontaVista: http://www.mvista.com/previewkit/index.php Preview Kit, сейчас онI/I его не поддерживют.

Скажите где можно еще скачать Prewiev Kit? Может FTP какой есть где можно скачать, поделитесь ссылочкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но с GCC хочется всеравно разобраться я попробую сначала Ваши советы, и напишу че и как. :)

По GCC есть хорошая книга Гриффитса.

Вообще-то как-то так.

#Компиляция

GCC -c file1.c ... filen.c

# Сборка

GCC -o fileOUT file1.o ... filen.o

 

Это все по памяти. Могут быть неточности.

Сделать fileOUT исполняемым.

Есть возможность сделать универсальный Makefile.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...