Здравствуйте коллеги!
Использую Codeblocks Release 8.02, версии под Windows и под Linux.
Задаю в проекте в Build options/Compiler settings/#defines
_MY_STRINGISE(name)=#name
MY_STRINGISE(name)=_MY_STRINGISE(name)
Под виндой все хорошо компилируется. Под линкусом — bas/sh выдает ошибку
g++ -D_MY_STRINGISE(name)=#name -DMY_STRINGISE(name)=_MY_STRINGISE(name) ...
/bin/bash: -c: line 0: syntax error near unexpected token `('
т.е. не компилятор ругается, а баш (пробовал и sh просто). Есть предположение, что надо заставить среду в кавычки заключать "-D...", но нигде не нашел как это сделать.
Никто не в курсе, как проблему решить?
Возможно моё предположение неверно, вообщем ищщу решение проблемы
Hi Marty
Попробуй заэкранировать ( и ). То есть вместо них писать \( и \). Но не 100%-й гарантии не даю.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Marty, Вы писали:
Подсказали на форуме codeblocks.org: поместить макросы в двойные кавычки при задании в среде, тогда при компиляции это выглядит как
-D"macro(arg)=text"
Работает и под виндой, и под линуксом.