尽管我是Linux的新手,但我对C
++并不陌生。我正在使用CMake来预编译带有某些第三方组件的跨平台游戏引擎,但是我对使用库存在很多疑问。我的问题是如何使用第三方库以及将它们放在哪里。Apt将libs安装在其官方位置(/
usr / local,/ usr / lib / ..),但是我在Windows中使用项目目录中文件夹中的本地libs进行开发。
另外,我需要一个很好的教程来了解库的工作规则。例如:当尝试编译我的项目时,luabind要求提供liblua.s0.1,但是AFAIK无法使用Lua提供的源生成该库(至少进行make,make
install)。
我知道,这个问题很模糊,但是我没有足够的经验来简化。
更新 :阅读一些答案后,下面是一个更简洁的问题。如果安装了所有第三方库,如何分发程序?如何在不使用大型自述文件的情况下管理依赖项?
在哪里放置图书馆
最好的解决办法是使用Linux发布版的包装系统(apt-get
,yum
或类似)从发行版提供的软件包安装库尽可能。
如果发行版的打包库的版本不够新,或者您需要一些非标准的构建选项,或者您需要发行版不提供的库,那么您可以自己构建和安装它。您有两个主要的库放置位置:
/usr/local
(库位于/usr/local/lib
,标题位于/usr/local/include
)。这将在系统范围内安装库,这可能是最简单的解决方案,因为您应该可以在不进行任何额外步骤的情况下针对它们进行构建。不要将库直接安装在之下/usr
,因为这会干扰发行版的打包系统。LD_LIBRARY_PATH
或ld.so.conf
-请参阅链接以获取更多详细信息)。图书馆如何运作
请参阅David A. Wheeler出色的编程库HOWTO。我建议您阅读该文章,然后将任何特定问题发布为新主题。
如何分发程序
传统上,Unix /
Linux程序不包括其依赖项的副本。而是由最终用户或开发人员自行安装这些依赖项。正如您所说,这可能需要“大型自述文件”,但它有一些优点:
如果您要将程序分发给最终用户,则可能需要考虑提供一个软件包(.dpkg
或.rpm
),使他们可以简单地下载和安装而不用使用源代码。从最终用户的角度来看,理想情况下,应将软件包添加到发行版的存储库中(如果它是开源的,或者至少是免费提供的),以便用户可以使用其软件包管理器(apt- get
或yum
)下载它。由于那里有大量的Linux发行版,这一切都可能变得复杂,但是与Debian / Ubuntu兼容.dpkg
以及与Red
Hat / CentOS / Fedora兼容的Linux .rpm
应该覆盖了很大一部分最终用户。构建软件包并不难,并且在线有很好的howto。
问题内容: 我决定不安装Windows,现在将Debian作为默认操作系统运行。我一直在Windows中编写代码,尤其是在Visual Studio中编写代码。我目前正试图习惯于在Linux下编译我的代码。 尽管我仍然有很多文档需要阅读,并且不要期望你们对我来说太容易了,但仍然可以从入门那里获得一些指导。我有一些特定的问题,但随时可以提出/建议有关此主题的其他任何内容。 关于创建make文件的推荐
半绿拇指在这里。我希望下载一些Apache Commons和Google Guava库以在Eclipse中使用。多个 Q 理想情况下,我希望它位于所有Mac / * NIX系统通用的目录中。然而,这个Q 那么我应该把第三方Java库放在哪里呢?
我正在尝试运行Phusion Passenger,这是我得到的最远的。当它在网站上加载时,它就出现了 需要“rails/all”。。。0.550s捆扎机。要求1.510s[已弃用]I18n。enforce\u available\u locales将来将默认为true。如果确实要跳过区域设置的验证,可以设置I18n。强制\u available\u locales=false以避免此消息。应用初始
注意:如果重要的话,我不使用IDE,我的大部分编程都使用vim。
依照以下操作,你可在Mac,Linux(Debia/Ubuntu)上搭建PPMessage开发环境。 下载PPMessage源代码 首先需要安装git,然后从github下载源代码,假设保存路径为~/Documents/ppmessage。 git clone git@github.com:PPMESSAGE/ppmessage.git 安装依赖软件 进入~/Documents/ppmessage
JSTL由三个jar包组成。这三个jar包是jstl.jar、standard.jar和xalan.jar。其中xalan.jar包用于为XML标签库增加处理XPath的能力,如果读者不使用XML标签库,则不需要xalan.jar包。 读者可以从所下的网址下载jstl.jar包和standard.jar包: http://jakarta.apache.org/taglibs/ 从上面的网址可以下载