【问题标题】:g++ linking local librariesg++ 链接本地库
【发布时间】:2015-08-30 18:29:47
【问题描述】:

C++ 的新手,一般来说对编译语言有点陌生。我已经通过了一个大学特定的代码库,用于完成我的作业。但是,我无法弄清楚如何正确链接它。目录布局如下:

Assignment
    lib
       UniversityCPPLib
          .cpp and .h files
    res
    src
       .cpp for my assignment

只是打电话

    g++ -o assignment.cpp assignment

给我

    No such file or directory

我不确定如何使用 -L 来指定本地库。

*编辑:另外,一般来说,SO 相对较新。有人介意告诉我为什么我一直在投票吗?我仍然在这里学习,如果我违反了这里的任何规则,我很乐意纠正自己。

【问题讨论】:

  • 请提供完整的错误信息
  • assignment.cpp:14:21:致命错误:console.h:没有这样的文件或目录(console.h 在大学图书馆中)
  • 使用-I(大写i)表示编译器应该在哪里寻找头文件,-L表示库,-lname(小写L)与libname.a链接。跨度>
  • 在询问之前,请至少快速查看一下编译器的文档...您的 -o 也会产生有趣的效果(就像您的狗吃掉您的作业一样)。
  • 哎呀。假设语法与 gcc 相同是个坏主意。谢谢。不过还是有同样的问题。

标签: c++ linker g++


【解决方案1】:

To -L 选项给出直到 lib 目录的完整路径。然后使用 -l 选项与库名称不带后缀。

【讨论】:

  • 因为 cmets OP 错过了 -I 选项而不是 -L
  • 谢谢,但还是不行。 g++ assignment.cpp -L/path/through/filesystem/lib -lUniversityCPPLib ?我错过了什么吗?
【解决方案2】:

感谢@MatsPetersson 和@πάνταῥεῖ。必需的选项是 -I,而不是 -L。语法如下:

    g++ assignment.cpp -I/path/through/filesystem/lib/UniversityCPPLib

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2014-04-18
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多