Заголовочные файлы, неоднократно используемые в разных заголовочных файлах в моей статической библиотеке - PullRequest
0 голосов
/ 22 июля 2011

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

До сих пор большинство из этих заголовочных файлов с объявлениями классов и функций #include те же "global" header file, что само по себе #includes другие заголовочные файлы (например, <string> <windows.h> и т. Д.).

Что касается меня, то раздражает необходимость заставлять пользователя включать более одного заголовочного файла, когда только "активно" использует тот, который получил классы.

Итак, я победил глобальный заголовочный файл и включил все необходимые заголовки в свои собственные заголовки.

Это сработало, но я столкнулся с некоторыми проблемами, связанными с Winsock:

Вам нужно #define WIN32_LEAN_AND_MEAN и убедиться, что пользователь не будет #include <windows.h> перед этими моими заголовками, или произойдет многократное переопределение: /.

Вот почему я хотел спросить Тебя, как Ты это сделаешь? Или о чем вы можете подумать?

1 Ответ

1 голос
/ 22 июля 2011

Я думаю, что у вас есть только опция определения общего заголовочного файла, который включает все остальные заголовочные файлы и который определяет WIN32_LEAN_AND_MEAN.

В противном случае вы можете указать пользователю включить такое определение в свои собственные файлы, но егобыло бы подвержено ошибкам.

Что касается включения <windows.h> Я думаю, что оно не будет включено несколько раз, так как в нем есть "include guard".

...