【问题标题】:Help compiling with gcc/g++帮助使用 gcc/g++ 编译
【发布时间】:2011-02-07 22:59:00
【问题描述】:

如果我有一个像下面的树这样的目录结构,我的 g++ 命令应该是什么样子才能成功编译 taglib/bin 目录中的 .cpp 文件,而我的所有 .h 文件都位于 taglib/ 中包含/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 

【问题讨论】:

    标签: c++ linux unix gcc g++


    【解决方案1】:

    -I-L 选项分别指定包含和库的搜索目录。因此,你的命令应该是这样的:

    g++ -o &lt;xyz&gt; taglib/bin/*.cpp -Iinclude/taglib -Llib

    man gcc 甚至gcc --help 提供了有关这些特定命令行选项的大量信息(GCC 手册也相当友好)。您真的应该先尝试一下,然后再在这里提问 - 效率更高(无需等待答案!)。

    【讨论】:

    • 谢天谢地,你的路径与问题不完全匹配,所以立方体可能不得不自己解决它们并学习一些东西。
    • @Ben Voigt,所以,你在说什么......我在这里问一个问题,我不是想学习?好吧,让我说我为你感到高兴,因为你是专家,但我只是在学习 c++。甚至手册页有时也会令人困惑和费解。所以请原谅我!
    • @Mathew,谢谢这对我有帮助。事实上,我确实阅读了手册页,但无法真正确定要使用哪些开关以及在哪里使用谷歌搜索它只是把我带到了整个地方。再次感谢。
    • @cube:在阅读手册页和相关文档以了解如何做某事时,我强烈建议您选择几个关键字并推测该功能可能被称为什么。例如,在这里您会推测您正在寻找“包含目录”(这可能是反复试验)。然后您可以在 GCC 的上下文中搜索 Google/SO/man pages/whatever 以查找“包含目录” - 此时您将更接近您的解决方案并且可以细化关键字。
    • @cube:例如,“gcc 包含目录”的第二个 Google 结果(此处)是network-theory.co.uk/docs/gccintro/gccintro_22.html,它解释了这个概念。这将随着您“学习如何学习”的练习而出现,并且不仅在编程中而且在几乎任何您需要回答您不知道的事情的情况下都是有用的技能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多