Как включить чрезвычайно длинные литералы в исходный код C ++?

У меня есть небольшая проблема. По сути, мне нужно хранить большой список записей из белого списка внутри моей программы, и я хотел бы включить такой список напрямую - я не хочу распространять другие библиотеки и тому подобное, и я не хочу встраивать строки в ресурс Win32 по ряду причин, в которые я не хочу сейчас вдаваться.

Я просто включил свой большой белый список в мой файл .cpp, и мне было выдано следующее сообщение об ошибке:

1>ServicesWhitelist.cpp(2807): fatal error C1091: compiler limit: string exceeds 65535 bytes in length

Сама строка примерно вдвое превышает это допустимое ограничение VC ++. Какой лучший способ включить такой большой литерал в программу?

РЕДАКТИРОВАТЬ:

Я храню строку так:

const std::wstring servicesWhitelist
(
 L".NETFRAMEWORK|"
 L"_IOMEGA_ACTIVE_DISK_SERVICE_|"
 L"{6080A529-897E-4629-A488-ABA0C29B635E}|"
 L"{834170A7-AF3B-4D34-A757-E05EB29EE96D}|"
 L"{85CCB53B-23D8-4E73-B1B7-9DDB71827D9B}|"
 L"{95808DC4-FA4A-4C74-92FE-5B863F82066B}|"
 L"{A7447300-8075-4B0D-83F1-3D75C8EBC623}|"
 L"{D31A0762-0CEB-444E-ACFF-B049A1F6FE91}|"
 L"{E2B953A6-195A-44F9-9BA3-3D5F4E32BB55}|"
 L"{EDA5F5D3-9E0F-4F4D-8A13-1D1CF469C9CC}|"
 L"2WIREPCP|"
//About 3800 more lines
);

EDIT2 Он используется во время выполнения таким образом:

static const boost::wregex servicesWhitelistRegex(servicesWhitelist);
std::wstring service;
//code to populate service
if (!boost::regex_match(service, servicesWhitelistRegex))
 //Do something to print service

Ответы на вопрос(5)

Ваш ответ на вопрос