Использование директив препроцессора для определения параметров командной строки - PullRequest
2 голосов
/ 16 мая 2010

Если бы я хотел добавить, скажем, новый .lib в сборку, только если был установлен конкретный #define, как бы я это сделал?

В MSVC ++ 2008 "Страницы свойств" вы просто добавили бы: Config Properties -> Linker -> Input -> Additional Dependencies, но мне бы хотелось, чтобы если было установлено что-то вроде #define COMPILE_WITH_DETOURS, то к зависимостям добавлялась бы конкретная библиотека, в противном случае это было бы удален.

1 Ответ

2 голосов
/ 16 мая 2010

Вы можете установить некоторые параметры компоновщика, используя #pragma comment в одном из ваших исходных файлов.

Например, чтобы связать библиотеку 'detours.lib', только если определено COMPILE_WITH_DETOURS, вы можете использовать:

#ifdef COMPILE_WITH_DETOURS
#    pragma comment(lib, "detours.lib")
#endif

(это относится к Microsoft Visual C ++ и не является переносимым)

...