Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: сборка проекта
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Zelepuk
Нужно пересобрать проект из MVSC в Linux GCC

В MVSC есть такая опция как задание препроцессорных дефайнов в настройках проекта в виде списка. Есть нечто похоже для GCC, как при сборке в Makefile указать такие определения?
andrew_b
CPPFLAGS = -DENABLE_FOO -DENABLE_BAR
Zelepuk
Цитата(andrew_b @ Dec 7 2012, 14:08) *
CPPFLAGS = -DENABLE_FOO -DENABLE_BAR

а что это значит?
Я имел ввиду, что я хочу напрмер добавить дефайн COMPILER_MSVC например и чтобы не прописывать

#define COMPILER_MSVC

я хочу задать его при сборке
_Pasha
Цитата(Zelepuk @ Dec 7 2012, 13:37) *
а что это значит?
Я имел ввиду, что я хочу напрмер добавить дефайн COMPILER_MSVC например и чтобы не прописывать

#define COMPILER_MSVC

я хочу задать его при сборке

В командной строке gcc
опция -D<macro>[=<expansion>]
Да собсна чего мудрыть:
man gcc
am1808
а собственно когда может такое понадобиться? просто не придумаю никак, для чего вяндовое компилить по линуксой?
andrew_b
Цитата(Zelepuk @ Dec 7 2012, 14:37) *
а что это значит?
Вы же спросили про Makefile. CPPFLAGS -- это переменная, в которую заносят директивы препроцссора. В принципе, это может быть любое имя, но лучше использовать CPPFLAGS, чтобы всем было понятно. Потом в команде компилирования подставляется эта переменная. И всё.
Цитата
Я имел ввиду, что я хочу напрмер добавить дефайн COMPILER_MSVC например и чтобы не прописывать

#define COMPILER_MSVC

я хочу задать его при сборке

Код
CPPFLAGS = -DCOMPILER_MSVC

gcc $(CPPFLAGS) <другие опции>
Zelepuk
Цитата(am1808 @ Dec 7 2012, 15:16) *
а собственно когда может такое понадобиться? просто не придумаю никак, для чего вяндовое компилить по линуксой?

ну как для чего? сменилась платформа и соответсвенно нужно перенести на новую платформу то что работало на старой.
am1808
Какая платформа сменилась?

золотое правило программиста - на чем пишешь, там и запускай). конечно это не embedded сказано
Olej
Цитата(andrew_b @ Dec 7 2012, 15:38) *
Вы же спросили про Makefile. CPPFLAGS -- это переменная, в которую заносят директивы препроцссора. В принципе, это может быть любое имя, но лучше использовать CPPFLAGS, чтобы всем было понятно. Потом в команде компилирования подставляется эта переменная. И всё.

Ничего подобного, CPPFLAGS одна из предопределённых переменных make, а не "чтобы всем было понятно" (чтобы всем было понятно - так это в цирке laughing.gif)
ТС - см.: Инструменты Linux или Инструменты Linux для Windows-программистов.
andrew_b
Цитата(Olej @ Dec 27 2012, 03:34) *
Ничего подобного, CPPFLAGS одна из предопределённых переменных make, а не "чтобы всем было понятно" (чтобы всем было понятно - так это в цирке laughing.gif )
Что вы мне пытаетесь доказать?
Цитата
Вы этим своим кросспостингом несколько утомили.
Olej
Цитата(andrew_b @ Dec 27 2012, 08:28) *
Что вы мне пытаетесь доказать?

Я ничего вообще не пытаюсь доказывать - я только показал материал последнего времени (свежий) подобранный по тем вопросам, которые задают пользователи форума: берите, смотрите, пользуйтесь...
И уж ВАМ персонально о чём то доказывать мне вовсе и на хрен не надо 1111493779.gif

Цитата(andrew_b @ Dec 27 2012, 08:28) *
Вы этим своим кросспостингом несколько утомили.

"Кросс" - только потому, что однотипных вопросов много, они постоянно повторяются, а темы, где они заданы - сейчас "расползутся".
P.S. а я на форуме бываю редко, некогда этой ерундой заниматься, вот и ответил всем заинтересованным.

А вы не напрягайтесь, не переутомляйтесь, нужно себя любимого беречь... если утомляет - самое время пойти проспаться. bb-offtopic.gif
andrew_b
Цитата(Olej @ Dec 27 2012, 13:25) *
А вы не напрягайтесь, не переутомляйтесь, нужно себя любимого беречь... если утомляет - самое время пойти проспаться. bb-offtopic.gif
А вы не говорите, что мне делать, и я не скажу, куда вам идти.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.