Вопрос

Я пишу свою собственную библиотеку модульного тестирования (использующую autoconf, automake и libtool), чтобы лучше соответствовать моим потребностям (мне не нужно слишком большое количество функций, только тестовый прогон и утверждения). Я дошел до того, что кажется пригодным для использования.

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

Каким должен быть мой метод для установки этого заголовка? (Он нужен всем остальным заголовкам)

Это было полезно?

Решение

Макрос ax_prefix_config_h выглядит так, как вам нужно. Он предоставляет способ создания другого файла, подобного config.h, который содержит префикс информации config.h. Так, например, вместо #define HAVE_SOMETHING в config.h вы получите #define MYLIB_HAVE_SOMETHING в mylib_config.h. Довольно удобно.

Другие советы

Вы все равно не должны экспортировать config.h в интерфейс вашей библиотеки.

Эта ссылка показывает способ обойти это, если ваши установленные заголовки действительно, действительно нужно быть зависимым от платформы. Это хрупкий метод, использующий устаревший макрос autoconf.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top