странная проблема, никак не могу разобраться
скачал сорцы 7z, отбилдил проект консоли под вин32, всё работает.
создал новую конфигурацию под WinCE
в ней начинаются чудеса
любые сложные статические переменные (что в классах, что просто в файлах) не инициализируются вообще
т.е. в одном файле может быть
static const wchar_t kAnyCharsChar = L'*';
здесь всё нормально
ниже строчка
const UString WildCardStatics::kWildCardCharSet = L"?*";
тут просто пусто, в конструктор класса никогда не попадаем
тут тоже пусто
static const wchar_t *kUniversalWildcard = L"*";
пробовал выносить в структуру типа
struct WildCardStatics
{
static const UString kWildCardCharSet;
static const UString kIllegalWildCardFileNameChars;
};
ноль эффекта
помогает только вот такой подход
struct WildCardStatics
{
static const UString &kWildCardCharSet()
{
static const UString wccs(L"?*");
return wccs;
}
};
но боюсь для такого количества кода не сдюжаю, да и хочется разобраться в причинах такого поведения
есть идеи? складывается впечатление, что что-то очевидно пропустил, но никак не могу разобраться