включение файлов заголовков - относительно текущего каталога или для включения каталогов?

У меня следующая структура директории:

src
  +-- lib1
    +-- lib1.h
  +-- lib2
   +-- lib2.h

И lib1 , и lib2 будут распространены (установлены). lib2 использует lib1 , поэтому он требует некоторых включений:

#include "../lib1/lib1.h" // 1
#include "lib1/lib1.h"    // 2
#include <lib1/lib1.h>    // 3

(1) - прямой путь, но он очень негибкий. (2) - это то, что я использую в настоящее время, но система сборки должна знать, что src необходимо добавить в путь включения. (3) кажется мне лучшим в аспекте распределения , потому что тогда можно предположить, что заголовки находятся в стандартном месте, но для меня не слишком очевидно, как система сборки обрабатывает это (в данном случае , lib1 необходимо установить перед компиляцией lib2 ).

Какой рекомендуемый способ?

9
задан wal-o-mat 8 January 2012 в 19:09
поделиться