我应该从源代码编译一个库吗
Should I compile a library from source?
我正在开发一个应用程序,该应用程序将在定制的、基于debian的linux系统上运行。我们有一个工具链,这样我们就可以为目标系统交叉编译应用程序,这样我们不必依赖于进行编译的主机操作系统(而不是目标操作系统)。
然而,我不确定我们是否应该从源代码交叉编译第三方库,或者我们是否应该只使用预先封装的库和头文件。例如,基于此页面,libSDL1.2似乎与发行版无关(http://www.libsdl.org/download-1.2.php)所以我们似乎不需要从源代码编译它。。但其他一些库对BSD、Ubuntu、Redhat等有不同的风格,这让我认为我们需要用我们的工具链来编译这些库。
我什么时候应该从源代码编译库?有什么需要考虑的?
从源代码编译/构建第三方库总是一件好事。尽管您提到的一些库,如OpenCV
或libSDL
,可以在不编译的情况下直接使用,但您仍然可以根据自己的首选选项重新构建它们,而不是使用它们的默认选项,从而受益匪浅。例如,通过重新构建OpenCV
,您可以添加适合您的PC的CUDA
功能来加快速度。
要编译/构建第三方,可以使用cmake
。对于大多数第三方库,它们包含一个名为CMakeLists.txt
的文件,供您执行此操作。
相关文章:
- 如何使用C++读取另一个程序中的源代码输出
- 当我尝试在函数内声明一个函数时,它不起作用?有什么建议吗?*源代码如下*
- 从源代码安装 gcc: bash: gcc -v /usr/bin/gcc: 是一个目录
- 我有一个AA树C 实现源代码,我需要将该代码放入Win32 C 中
- 如何将另一个项目中用 C 编写的源代码包含在我自己的项目中,C++在 Visual Studio 中
- 哪一个更好?使用C 代码中的System()函数或使用源代码
- 我应该从源代码编译一个库吗
- 平台独立性:它与将源代码从一个操作系统移动到另一个操作系统有何不同
- 一个生成文件,用于编译指定目录中的所有源代码
- 使用Rcpp构建一个R包,该包包含C源代码和带有限制限定符的标头
- 实现一个将数字转换为文本的源代码(c++)
- 我有一个.dll,我想用源代码编辑.我需要编辑哪些文件
- 在标头中定义并包含在两个源代码中的结构仅在一个源代码内定义
- Cmake和一个包含源代码的文件夹
- 编译一个在所有Linux发行版中执行而不重新编译的C/ c++源代码是否可能?
- 调试一个调试的c++ COM dll与pdb,但没有源代码
- 我怎么能把这个qt程序到一个源代码文件
- 如何编辑SFML源代码来添加一个新的可绘制对象
- 从C++源代码中打开一个emacs组织模式文件,并自动创建一个项目
- 从c++源代码制作一个可执行和可安装的文件