前几天我在VM中设置了一个Ubuntu安装,然后去收集我认为我主要用C++编程所需的工具和库.
我遇到了一个问题,在哪里放置第三方源库等等.从我可以收集的内容来看,许多源代码分发假设它们的很多依赖项已经安装在某个位置并假设很多工具也安装在特定位置.
举一个我目前在Windows上做的例子,我有一个目录,我保留所有源代码.C:\code
.在这个目录中,我有一个所有第三方库的目录c:\code\thirdparty\libs
.通过这种方式,我可以轻松地为我编写或遇到的任何项目的所有依赖项设置相对路径,并希望进行编译.我对建立Linux编程环境感兴趣的原因是,似乎工具和库依赖问题都得到了有效解决,例如从源代码构建OpenSSH很容易.
因此,当我尝试在linux上组织我的项目和库时,我可以使用的是一个不错的约定,易于维护和易于使用.
简短的回答:不要做"本地目录中的大量代码"的事情.
答案很长:不要做"本地目录中的大量代码"的事情,因为保持最新状态将是一场噩梦,如果你决定分发你的代码,将它包装成任何体面将是噩梦分配.
只要有可能,坚持分发中提供的库(ubuntu有20000+个数据包,它应该包含你需要预先包装的大部分内容).如果没有包,您可以手动安装到/ usr/local(但请参阅上面有关升级和DONT的操作).
更好的是,使用"stow"或"installwatch"(或两者)安装到每个库的目录(/ usr/local/stow/libA-ver123),然后将符号链接文件从那里安装到/ usr/local或/ usr /(stow)是simlinking部分).或者只是为您的发行版打包lib.
对于图书馆/包括......
/usr/local/lib /usr/local/include