无法在iOS C ++代码中包含Accelerate Header

时间:2015-04-26 08:24:03

标签: c++ ios accelerate-framework

我有一些代码,我想调用vDSP。 这是一个Xcode项目中的C ++文件。主要项目是在目标C中。 每当我做的时候

#include <Accelerate/Accelerate.h>  

它给了我很多错误。

#if defined(__cplusplus)
#pragma once

#include <Accelerate/Accelerate.h> // <-- error
#include "oscillator.h"


namespace synth {
class CQBLimitedOscillator : public COscillator
{
    float dOuts[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
public:
    CQBLimitedOscillator(void);
    ~CQBLimitedOscillator(void);

    // --- init globals
    inline virtual void initGlobalParameters(globalOscillatorParams* pGlobalOscParams)
    {
        // --- always call base class first to store pointer
        COscillator::initGlobalParameters(pGlobalOscParams);

        // --- add any QBL specifics here
    }

    // -- parallel proqcess 4 sawteeth
    inline void doSawTeeth(float* dOutsIn, float dModulo, float dInc) {

        float scalar2Val = 2.0f;
        float scalar1Val = -1.0f;

        // -- 2.0f*dValue - 1.0f
        vDSP_vsmsa(dOutsIn, 1, &scalar2Val, &scalar1Val, dOutsIn, 1, 4);

    }

Errors

1 个答案:

答案 0 :(得分:1)

oscillator.h中包含的其中一个文件包含:

https://core.telegram.org/constructor/auth.sentCode
https://core.telegram.org/mtproto/service_messages
https://core.telegram.org/method/auth.sendCode

将其更改为

#include "math.h"

做了这个伎俩。 Accelerate也以这种方式使用数学库(cmath)。