gcc 4.4.4 c89 Fedora 13
我想知道还有什么更好。为您提供示例的编译: apache运行时可移植性和log4c。
我的fedora存储库中的apr版本是1.3.9。apr网站上的最新稳定版本是1.4.2。
问题
即
project_name/tools/log4c/inc
project_name/tools/log4c/libs但是,我注意到我必须在/usr/include目录中查找一些头。
非常感谢你的建议,
发布于 2010-08-28 16:31:10
我通常使用我的发行版提供的包,如果它们的版本足够新的话。这有两个原因:
1)如果发现旧包中的安全漏洞,会有人确保我得到了新的包。
2)它节省了我的时间。
当我设置一个开发项目时,我从不创建自己的include/lib目录,除非项目本身是我放在那里的相关文件的授权源。
我使用pkg-config来提供必要库的位置,并将文件包含到我的编译器中。pkg-config使用一些..pc文件作为信息的来源,这些文件由为您的发行版创建包的相同人员维护。有些库提供的不是这个文件,而是另一个‘-config’-脚本。我将提供两个例子:
我没有运行Fedora 13,但是Ubuntu10.04上的一个例子是;
*)安装liblog4c-dev
*)命令"log4c-config -libs“返回”L/usr/lib -llog4c“.
*)命令"log4c-config --c阻击“返回-i/usr/include”
对于使用pkg-config的示例(我将使用SDL作为示例):
*)安装libsdl1.2-dev
*)命令"pkg-config sdl -libs“返回"-lSDL”。
*)命令"pkg-config sdl -c之旗“返回"-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL”。
..。因此,即使另一个发行版决定将事物放置在不同的路径上,也有一些脚本应该为您提供一个可靠的解决方案--这样就可以在大多数发行版上构建东西。Autotools (automake、autoconf等)和cmake对于确保您不必处理这些问题非常有帮助。
发布于 2010-08-28 12:16:02
如果您的发行版包存储库中的版本是最近的,那么只需使用它即可。
优点是通过发行版自动更新,安装简单快捷(包括依赖项的自动获取和安装!)和轻松移除包裹。
如果您自己从.tar.gz安装了一些东西,那么您必须使用自己的发行版--跟踪安全问题和bug。
使用分发包,您也可以关注安全问题,但是分发程序为您做了很多工作(比如开发补丁、重新打包、测试和捕获重要的东西)。当然,每个发行商都有一个策略,如何为不同的包存储库处理不同类别的问题。但是有了你自己的.tar.gz安装,你就什么都没有了。
发布于 2010-08-28 12:20:28
我想这是个古老的问题。在所有Linux发行版上都是一样的。
这个包是由某个人创造的--那个人对东西应该去哪里有自己的看法。您可能不同意--但是通过使用包,可以避免查找编译和安装软件所需的所有依赖项。
因此,为了完全控制:滚动您自己-但要为可能的工作做好准备,否则使用包。
我的观点是:在不可能这样做之前使用包(冲突、所需的编译参数)。我宁愿花时间让软件为我工作,也不愿花时间编译。
https://stackoverflow.com/questions/3590675
复制相似问题