Где должны быть определены макросы типа HAVE_SYS_UIO_H? - PullRequest
0 голосов
/ 21 декабря 2010

Мне нужно включить заголовочный файл, который должен быть определен HAVE_SYS_UIO_H.Моя система действительно имеет sys/uio.h, но макрос не определяется автоматически.На данный момент я могу определить его до включения заголовка, но это, очевидно, плохая идея.

Что мне нужно сделать, чтобы HAVE_SYS_UIO_H (и другие подобные макросы) были определены правильно?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2010

Обычно такие вещи, как "HAVE_SOMETHING", определяются в файлах Makefile, сгенерированных скриптом "./configure", который фактически создает тестовые программы и пытается скомпилировать и запустить их, чтобы выяснить, есть ли у конкретной системы конкретная вещь.

2 голосов
/ 21 декабря 2010

Есть некоторая логика в вашем make-файле, которая проверяет наличие заголовка и добавляет -DHAVE_SYS_UIO_H, если это так.Использование automake может упростить это или побудить пользователя предоставить значения (например, через make CONFIGURE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...