Пусть препроцессор GCC рассматривает угловые скобки как кавычки - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь использовать системные заголовки, которые используют угловые скобки там, где следовало использовать кавычки. В частности, у меня есть системный заголовочный файл в / usr / include / hdf5 / serial /, который содержит

#include <hdf5.h>

Конечно, я мог бы передать G ++ опцию -isystem / usr / include / hdf5 / serial , но я бы предпочел сохранить модульность, а не копировать этот фрагмент конфигурации в любой проект, который в конечном итоге мог бы использовать этот заголовок.

Я использую G ++ 7.3 в Ubuntu 18.04 и CentOS 7.x с DevToolset 7.

1 Ответ

0 голосов
/ 28 августа 2018

То, что вы предлагаете, является единственным разумным решением - библиотека требует, чтобы вы добавили этот каталог в системный путь компилятора. Чтобы изолировать это от программ, использующих ваши заголовки, вы можете заранее объявить только то, что вам нужно из библиотеки, или вам может понадобиться какой-то уровень абстракции. Или просто перешлите библиотеку pkg-config в файл .pc вашей собственной библиотеки.

...