GCC завершается сбоем, когда в make-файле требуется несколько разных версий.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 GCC завершается сбоем, когда в make-файле требуется несколько разных версий.

Сообщение Anonymous »

У меня есть make-файл, который должен использовать две разные версии GCC, чтобы выводить разные исполняемые файлы за один вызов. В частности, я использую один, предназначенный для старых 32-разрядных компьютеров Windows, и другой, предназначенный для гораздо более новых компьютеров. К сожалению, такие переключатели, как -m32 и т. д., сами по себе не помогают, и мне действительно нужны две разные версии GCC.
Я получаю странные ошибки, когда добавляю обе версии в PATH и вызывайте их непосредственно в make-файле. Предполагалось, что это связано с модульной конструкцией GCC. Основная идея моего make-файла следующая:

Код: Выделить всё

GCC_32 = i686-w64-mingw32-gcc
GCC_64 = x86_64-w64-mingw32-gcc

win_32_bit: $(COMMON_REQUIREMENTS_NOT_IN_EXAMPLE)
$(GCC_32) -mwindows -m32 -march=pentium $^ old_main_file.cpp -static-libstdc++ $(LIBS_NOT_IN_EXAMPLE) -o old.exe
win_64_bit: $(COMMON_REQUIREMENTS_NOT_IN_EXAMPLE)
$(GCC_64) -mwindows -m64 -march=core2 $^ new_main_file.cpp -static-libstdc++ $(LIBS_NOT_IN_EXAMPLE) -o new.exe
Если бы я вместо этого удалил все ссылки на GCC из PATH, а затем жестко запрограммировал пути, код тогда работал бы.

Код: Выделить всё

GCC_32 = /mingw32/bin/i686-w64-mingw32-gcc
GCC_64 = /mingw64/bin/x86_64-w64-mingw32-gcc

# The rest is the same
Очевидно, что жестко прописанные пути — это плохо и непереносимо. Я предпочитаю выяснить, почему возникает конфликт, и написать make-файл, который его разрешит. Возможно, есть способ, например. скройте другой компилятор друг от друга или, возможно, получите пути из PATH, удалите их и внедрите в make-файл

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-makefile
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»