Файл, включенный в <>, не может найти файл, включенный в "" - PullRequest
1 голос
/ 03 января 2012

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

#include "../exception/CException.h"

Все идет хорошо, но когда я устанавливаю библиотеку и использую ее в другой программе с #include <>, которая включает файл с #include "../exception/CException.h "последний файл не найден.Почему?

Любая помощь по улучшению включает использование?

Ответы [ 2 ]

1 голос
/ 03 января 2012

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

Вы должны использовать

#include "yourlib/exception/CException.h"

аналогично Boost.

Если вы устанавливаете это как подкаталог yourlib в /usr/local компилятор должен быть в состоянии найти это.

0 голосов
/ 03 января 2012

Вам нужно будет распространить ../exception/CException.h с вашей библиотекой.Если это действительно часть вашей библиотеки, предпочтительнее поместить ее в подкаталог, а не в одноуровневую папку.

...