Наш код использует __FILE__
для печати местоположений кода в файле журнала.
Мы стремимся, чтобы все экземпляры __FILE__
печатали ТОЛЬКО имя файла, без пути.
Однако мы только что заметили, что хотя source (.cpp
files) правильно печатает только имя файла, заголовки (.h
files) печатают полный путь. Это раскрывает путь нашего сервера сборки при установке клиента, что в лучшем случае сбивает с толку.
Я исследовал параметр компиляции /FC
(полные пути) и его связь с параметрами компиляции /ZI
и /Zi
(генерация отладочной информации) . Короткая версия - /ZI
подразумевает /FC
. В настоящее время мы используем /Zi
, но мы не используем /ZI
или /FC
, поэтому у нас все должно быть в порядке.
Мы используем прекомпилированный заголовок (PCH) для всего проекта, но ни один из заголовков, включенных в PCH, не использует __FILE__
, так что это не имеет значения.
Что здесь происходит?
Возможно, я запускаю скрытую опцию компиляции?
Кто-нибудь знает обходной путь, который не включает в себя вызовы функций манипуляции со строками во время выполнения?