我应该编译必需的文件还是只包括它们

Should I Compile Required Files Or Just Include them?

本文关键字:包括它 文件 编译 我应该      更新时间:2023-10-16

我正在构建一个回声打印回声巢安卓应用程序来识别音乐。我遵循了本教程,其中echopprint codegen所需的软件包是boost 1.54.0,它只是包含在android.mk文件中的echopprint codegen中。这是完美的工作代码生成声音代码,但它没有任何匹配,即使是流行歌曲,如江南Style。我想知道我是否也应该编译Boost文件或。

一般情况下:如果所需文件仅为头文件,则不会编译这些文件。但是,如果它们也有源文件,则必须编译它们。

echoprint编解码器仅将boost报头用于一些数字运算,所以您不需要编译boost(来源)

echoprint编码源使用的库

#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>

只是头文件:它们完全由包含模板和内联函数的头文件组成,并且在链接(源)时不需要单独编译库二进制文件或特殊处理。

但是,还有其他Boost库(如Boost.Filesystem)必须编译。

您的程序构建并运行意味着您没有错过任何编译/链接步骤。特别是Boost标头通常不需要任何可执行文件。很可能是代码中的错误导致了这个问题。