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

时间:2013-08-29 16:24:49

标签: android c++ boost android-ndk audio-fingerprinting

我正在建立一个echoprint echonest Android应用程序来识别音乐。 我已经关注了tutorial,其中echoprint codegen所需的包是boost 1.54.0,它只包含在android.mk文件中的echoprint codegen中。 这完全适用于codegen生成声音代码,但即使对于像Gangnam Style这样的流行歌曲也没有任何匹配。 我想知道我是否也应该编译Boost文件或。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

一般情况下:如果只是标题,则不编译所需的文件。但是,如果它们还有源文件,则必须编译它们。

  

echoprint-codegen仅对某些数字操作使用boost标头,   所以你不需要编译boost   (source

echoprint-codegen

使用的库
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>

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

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