У меня есть a defines.wxi
- файл, который содержит некоторые хорошие определения, используемые во всех моих wxs-файлах.
Когда я пытаюсь сослаться на определенное значение от одного из <Fragment>
- файлы я добираюсь Undefined preprocessor variable '$(var.IMAGE_FOLDER)'
назад в моей поверхности.
Я предполагаю, что существует что-то тривиальное, которое я пропускаю здесь... Какие-либо идеи?
Редактирование 19:th апрель.
Найденный, что проблема только происходит если ссылка из файла Фрагмента.
Переписал образец для соответствия этому.
defines.wxi
<Include>
<?define IMAGE_FOLDER="Images" ?>
</Include>
некоторые-Fragment.wxs
<Fragment>
<?Include defines.wxi ?>
<Component Id='c.Images' Guid=".." Directory='INSTALLDIR.Images' >
<File Id='f.sample.jpg' Source='$(var.IMAGE_FOLDER)sample.jpg' Name='sample.jpg' />
</Component>
Решил.
Там, где в примере написано:
<?Include defines.wxi ?>
это должно быть строчные буквы ...
<?include defines.wxi ?>
тогда это работает как шарм!
/ L
Хорошо, еще одна попытка.
Вы ссылаетесь на что-нибудь в этом
из основного
? Содержимое фрагмента видно остальной части кода, если вы ссылаетесь на что-либо из него. Например, вы можете ссылаться на компонент (
) или группу компонентов (
). После ссылки на что-либо включается весь фрагмент.
Надеюсь, это поможет.
В тексте предоставленного вами сообщения об ошибке говорится: «Неопределенная переменная препроцессора '$ (var. MAGE_FOLDER )'», а не $ (var. IMAGE_FOLDER ) - ведущая «I» отсутствует. Это заставило меня подумать, что вы ссылаетесь на ту же переменную где-то в остальной части кода, но неправильно ее пишете.
В этом случае Candle.exe абсолютно прав - он может найти IMAGE_FOLDER, но не может найти MAGE_FOLDER.
Надеюсь, что это так, и вы быстро это исправите. ; -)