我正在开发一个应用程序,它将运行在一个定制的、基于debian的linux系统上。我们有一个工具链,这样我们就可以交叉编译目标系统的应用程序,这样我们就不必依赖正在编译的主机操作系统(而不是目标操作系统)。
但是,我不确定我们是否应该交叉编译来自源代码的第三方库,或者我们是否应该仅仅使用预先设置好的库和头文件。例如,基于这个页面(http://www.libsdl.org/download-1.2.php),libSDL1.2似乎与发行版无关,因此我们似乎不需要从源代码编译它。但是其他一些库对于BSD、Ubuntu、Redhat等有不同的风格,这使我认为我们需要用我们的工具链来编译这些库。
何时应该从源代码编译库?有什么事情需要考虑吗?
发布于 2013-12-23 05:44:16
从源代码编译/构建第三方库总是一件好事。虽然您提到的一些库(如OpenCV或libSDL )无需编译就可以直接使用,但是根据您喜欢的选项重新构建它们,而不是使用它们的默认选项,仍然可以带来很大的好处。例如,通过重新构建OpenCV,您可以添加适合您的PC的CUDA功能,以加快速度。
要编译/构建第三方,可以使用cmake。对于大多数第三方库来说,它们包含一个名为CMakeLists.txt的文件,您可以这样做。
https://stackoverflow.com/questions/20579124
复制相似问题