【问题标题】:Where to save my C++ libraries? (Ubuntu)在哪里保存我的 C++ 库? (Ubuntu)
【发布时间】:2012-08-08 10:22:30
【问题描述】:

我不确定这是一个严格的编程问题,如果不是,我深表歉意。

我用 C++ 开发了一些库,我打算在几个不同的项目中使用它们。 直到现在我一直在各个项目的文件夹中复制更新的库。 你可以想象这并不理想,所以我想创建一个“3rd-party”文件夹 我保存我编写的库和其他我将来可能下载的库。

我该怎么做?考虑到我以后想分享/发布我的代码,确保使用的库包含在我部署的代码中的最佳策略是什么?

【问题讨论】:

    标签: c++ linux libraries


    【解决方案1】:

    没有硬性规定。但如果这些是 1) 通用,2) 全局共享,那么我建议 /usr/local/lib(用于您的 .a 和 .so 库)和 /usr/local/include(用于相应的标头)。

    下面是对 Linux 的“标准文件位置”的一个很好的描述:

    【讨论】:

    • 感谢 Paulsm,实际上我目前仍在开发它们,但已经在一些项目中使用它们。对我来说最好的方法可能是按照 Anon 的建议使用它们,并在它们足够稳定时移动它们。只是一个小问题.. .a 和 .so 文件是什么?当我编译我的库时,我总是获得 .o 或 .d 文件..
    • @LucaCerone:- .a 是 linux 中的存档文件, .so 是共享对象库文件。更多信息请参见 yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
    【解决方案2】:

    如果您想与新项目共享您的模块,最好将它们组织在一个文件夹中,并将此文件夹标记为新项目中包含的库路径。

    【讨论】:

    • 好的,我该怎么做?我是一名新手程序员(除非你不计算 Matlab 编程),所有这一切对我来说有点新。特别是我没有得到的是:将文件夹标记为包含的库路径是编译器的事情吗?还是 Ide 的东西? (或者它是一个可以由 Eclipse 等 IDE 管理的编译器,仅提及我使用的那个:p)
    • 是的,完全正确。无论您使用什么编译器或 IDE,您都应该能够指定 1)#include 文件的路径(“-I”用于 gcc)和 2)库文件的路径(“-l”用于 ld)。
    猜你喜欢
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    相关资源
    最近更新 更多