2012-08-11 81 views
1

我不确定这是一个严格的编程问题,所以如果不是,我很抱歉。哪里可以保存我的C++库? (Ubuntu)

我开发了一些C++库,我的意思是在几个不同的项目中使用。 到目前为止,我一直在更新的库复制到各个项目的文件夹中。 正如您可以想象的那样,这并不理想,所以我想创建一个“第三方”文件夹 ,在那里我保存我编写的库以及将来可能下载的其他库。

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

回答

2

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

+0

好了就来了,而且我该怎么办呢?我是一个菜鸟程序员(除非你不计算Matlab编程),所有这些对我来说都是有点新的。 特别是我没有得到的是:将文件夹标记为包含的库路径是编译器的东西?还是Ide的东西? (或者它是一个编译器的东西,可以通过像Eclipse这样的IDE进行管理,只是提到我使用的那个:p) – lucacerone 2012-08-11 08:24:33

+0

是的,确切地说。无论使用哪种编译器或IDE,您都应该能够指定1)#include文件(用于gcc的“-I”)和2)库文件的路径(用于ld的“-l”)。 – paulsm4 2012-08-11 08:27:50

+0

both ...这些链接将帮助你:): - http://stackoverflow.com/questions/2726993/g-how-to-specify-preference-of-library-path,http://gcc.gnu。 org/onlinedocs/gcc/Environment-Variables.html – perilbrain 2012-08-11 08:28:50

5

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

下面是针对Linux的 “标准文件位置” 一个很好的说明:

+1

感谢Paulsm,实际上我仍在开发它们,但已经在少数项目中使用它们。对我来说,最好的办法是按照Anon的建议使用它们,并在足够稳定时移动它们。只是一个小问题..什么是.a和.so文件?当我编译我的库时,我总是获取.o或.d文件.. – lucacerone 2012-08-11 12:30:05

+0

@LucaCerone: - .a是在Linux中的归档文件,.so是共享对象库文件..更多信息请访问http://www.yolinux.com /TUTORIALS/LibraryArchives-StaticAndDynamic.html – perilbrain 2012-08-11 15:11:47

相关问题