C++ 在Visual Studio 2012中使用Aquila
首先,我用Cmake制作Aquila 然后打开Cmake生成的Aquila.sln文件 然后从build菜单和batch build中检查C++ 在Visual Studio 2012中使用Aquila,c++,visual-studio-2012,C++,Visual Studio 2012,首先,我用Cmake制作Aquila 然后打开Cmake生成的Aquila.sln文件 然后从build菜单和batch build中检查 Aquila Debug Win32 Debug|Win32 Aquila Release Win32 Release|Win32 并生成Aquila.lib 并在运行示例的解决方案中添加了此库和.h文件,但我有以下错误: 错误1错误LNK2019:中引用的未解析外部符号\u cdft 函数公共:虚拟类std::vector
Aquila Debug Win32 Debug|Win32
Aquila Release Win32 Release|Win32
并生成Aquila.lib
并在运行示例的解决方案中添加了此库和.h文件,但我有以下错误:
错误1错误LNK2019:中引用的未解析外部符号\u cdft
函数公共:虚拟类std::vector,类std::分配器>
__这叫Aquila::Oouraft::fft双倍常数*常数?fft@OouraFft@阿奎拉@@UAE?AV$vector@V?$complex@N@性病病毒$allocator@V?$complex@N@std@@@2@@std@@QBN@ZC:…\aquila\aquila.libOouraFft.obj
然后我将运行库从多线程调试DLL/MDd更改为
多线程调试/MTd
但有以下错误:错误1错误LNK2038:检测到的不匹配
“RuntimeLibrary”:值“MDd\u DynamicDebug”与值不匹配
中的“MTd_StaticDebug”
aquila.obj C:…\aquila\aquila.libSignalSource.obj
阿奎拉例子
#include "aquila/aquila.h"
#include "stdafx.h"
int main()
{
// input signal parameters
const std::size_t SIZE = 64;
const Aquila::FrequencyType sampleFreq = 2000, f1 = 125, f2 = 700;
Aquila::SineGenerator sine1(sampleFreq);
sine1.setAmplitude(32).setFrequency(f1).generate(SIZE);
Aquila::SineGenerator sine2(sampleFreq);
sine2.setAmplitude(8).setFrequency(f2).setPhase(0.75).generate(SIZE);
auto sum = sine1 + sine2;
Aquila::TextPlot plot("Input signal");
plot.plot(sum);
// calculate the FFT
auto fft = Aquila::FftFactory::getFft(SIZE);
Aquila::SpectrumType spectrum = fft->fft(sum.toArray());
plot.setTitle("Spectrum");
plot.plotSpectrum(spectrum);
return 0;
}
有人能帮我吗???如果你使用aquila 3.0,在用cmake构建aquila之后,Ooura_fft.lib必须在aquila build/lib/Debug/Ooura_fft.lib中。您必须将其链接到您的项目 请更详细地解释你的答案。