В приведенном ниже коде я бы хотел, чтобы значение THE_VERSION_STRING
было взято из значения переменной среды MY_VERSION
во время компиляции
namespace myPluginStrings {
const char* pluginVendor = "me";
const char* pluginRequires = THE_VERSION_STRING;
};
Так что если я наберу:
export MY_VERSION="2010.4"
pluginRequires
будет установлен на «2010.4», даже если MY_VERSION
установлен во что-то другое во время выполнения.
ОБНОВЛЕНИЕ: (21 февраля) Спасибо всем за помощь. Оно работает.
Поскольку я использую Rake в качестве системы сборки, каждый из моих CFLAGS является переменной ruby. Также значения должны заканчиваться в кавычках. Поэтому командная строка gcc для меня должна выглядеть так:
gcc file.c -o file -D"PLUGIN_VERSION=\"6.5\""
Что означает, что это в моем Rakefile:
"-D\"PLUGIN_VERSION=\\\"#{ENV['MY_VERSION']}\\\"\""