Помогите с компиляцией gcc / g ++ - PullRequest
0 голосов
/ 08 февраля 2011

Если у меня есть структура каталогов, такая как дерево ниже, то, как должна выглядеть моя команда g ++, успешно скомпилирует файл .cpp, который находится в каталоге taglib / bin, а все мои файлы .h находятся в taglib /. каталог include / taglib.

Любая помощь будет принята с благодарностью. Спасибо!

-taglib

--bin
  .cpp file is here, incl headers are like this: #include <other.h>
  but wondering if it should be #include </taglib/include/taglib/other.h>,
  also, this should be where my binary will live when compiled.

--lib
  all my .so files live here

--include
---taglib
   all my .h files live here 

1 Ответ

2 голосов
/ 08 февраля 2011

Опции -I и -L определяют каталоги поиска для включений и библиотек соответственно. Следовательно, ваша команда должна выглядеть примерно так:

g++ -o <xyz> taglib/bin/*.cpp -Iinclude/taglib -Llib

man gcc и даже gcc --help дают отличную информацию об этих конкретных параметрах командной строки (и руководство GCC также довольно дружелюбно). Вы должны действительно попробовать их сначала, прежде чем спросить здесь - это более эффективно (не нужно ждать ответов!).

...