我应该从源代码编译库吗?

时间:2013-12-14 02:45:34

标签: c++ linux compilation cross-platform cross-compiling

我正在开发一个可以在基于debian的定制linux系统上运行的应用程序。我们有一个工具链,以便我们可以交叉编译目标系统的应用程序,这样我们就不必依赖于我们正在编译的主机操作系统(而不是目标操作系统)

我不确定,但是我们是否应该从源代码交叉编译第三方库,或者我们是否应该使用预先封装的库和头文件。例如,libSDL1.2似乎是基于这个页面(http://www.libsdl.org/download-1.2.php)的发布不可知的,所以看起来我们不需要从源代码编译它...但是其他一些库有不同的风格BSD,Ubuntu,Redhat等让我觉得我们需要使用我们的工具链来编译它们。

我应该何时从源代码编译库?有什么事要考虑?

1 个答案:

答案 0 :(得分:1)

从源代码编译/构建第三方库总是一件好事。虽然您提到的某些库(例如OpenCVlibSDL)可以在不编译的情况下直接使用,但您仍然可以通过根据您的首选选项重新构建它们而不是使用其默认选项来获益。例如,通过重新构建OpenCV,您可以添加适合您P​​C的CUDA功能,以加快速度。

要编译/构建第三方,您可以使用cmake。对于大多数第三方库,它们包含一个名为CMakeLists.txt的文件,供您这样做。