Таким образом, есть сторонняя библиотека с заголовочным файлом, который необходимо включить, чтобы использовать ее. Поскольку реализация библиотеки не является объектно-ориентированной, я написал класс, чтобы инкапсулировать все использование библиотеки, поэтому, если ее нужно заменить, я могу просто изменить реализацию этого класса.
Поскольку другие разработчики будут работать с той же кодовой базой, мне нужен способ выдать им ошибку, если они включат библиотеку. Это делается для того, чтобы избежать ссылок на библиотеку повсюду.
Например, если они делают что-то вроде этого:
#include "cool_library.h"
они получают сообщение об ошибке:
do not include directly cool_library.h, instead use the cool_library_wrapper class
Это возможно? Я использую GNU GCC
grep 'some_header.h' include/ src/ -R
должен это сделать. И не забывайте увольнять рецидивистов. Это не проблема, которую нужно решить на уровне исходного кода. - person R. Martinho Fernandes   schedule 13.10.2011