Основной проект нашей компании имеет несколько констант препроцессора, которые должны быть настроены для разных клиентов.Когда программа была впервые написана, ее считали достаточной для простого создания версий кода для отладки и выпуска.Никому и в голову не приходило, пока я не устал все время перестраивать проект, когда мы могли использовать константы препроцессора и настройки проекта для создания разных папок для каждого клиента.
Но у нас есть одна библиотека ActiveX DLL, в которой наш проект нуждаетсядолжен быть в определенной папке.(Создание ActiveX DLL было еще одним из длинного списка плохих решений, которые моя компания приняла в этом проекте.) Эта DLL импортируется в код следующим образом:
#ifdef _DEBUG
#import "..\Debug\CapsHelper.dll" no_namespace
#else
#import "..\Release\CapsHelper.dll" no_namespace
#endif
Я сейчас пытаюсь создатьдля клиента по имени Алгома.Итак, я хочу создать константу препроцессора с именем CUSTOMER, которая будет содержать «Alcoma», а затем указать компилятору импортировать из папки с именем «Debug Alcoma» или «Release Alcoma».Как мне это сделать?
Я попробовал это:
#define CUSTOMER Alcoma
#ifdef _DEBUG
#import "..\Debug " #CUSTOMER "\CapsHelper.dll" no_namespace
#else
#import "..\Release " #CUSTOMER "\CapsHelper.dll" no_namespace
#endif
Но это не сработало.Он также не работал без # перед ЗАКАЗЧИКОМ.