затмение cdt относительный включить путь? - PullRequest
1 голос
/ 23 августа 2010

Привет всем.Я скачал и переместил источник Xerces (v3.1.1) здесь: / usr / include / xerces, и я могу видеть источник в проводнике проекта следующим образом:

MyCppProject

  • Двоичные файлы

  • Включает

    • [...] // некоторые другие каталоги

    • xerces

      • dom

      • [...] // некоторые другие каталоги

И вот мой простой код C ++:

<code>
&#35;include <xercesc/util/PlatformUtils.hpp><br>
using namespace xercesc;
&#35;include <iostream> 
using namespace std;
int main(int argc, char* argv[])
{
  try {
      XMLPlatformUtils::Initialize();
  }
  catch (const XMLException& toCatch) {
      return 1;
  }
  XMLPlatformUtils::Terminate();
  return 0;
}

И вот ошибка, которую я получаю (вместе с другимикоторые вызваны тем, что этот файл не включен):

.. / main.cpp: 1: 42: ошибка: xercesc / util / PlatformUtils.hpp: нет такого файла или каталога

ЧтоЯ не понимаю, как относительные пути работают в исходном файле.Когда я говорю, введите

<code>&#35;include <xercesc/util/PlatformUtils.hpp>
, куда он смотрит, если не в путях включения, уже перечисленных в проводнике проекта?

1 Ответ

2 голосов
/ 23 августа 2010

Из того, что вы указали в своем вопросе, похоже, что вы используете имя папки "xercesc" вместо "xerces" в пути включения.

попробовать

#include <xerces/util/PlatformUtils.hpp>

Директива include просматривает все каталоги в пути включения и пытается найти указанный файл. Так что если вы указали папку c:/something/include в вашем пути включения. это будет искать c:/something/include/xercesc/util/PlatformUtils.hpp.

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

...