WinPRT

2013-02-12 35 views
4

錯誤「公共成員的簽名包含本機類型」我想創建一個支持Windows Phone 8的運行時組件。我有一個C++源代碼,目前它不支持Windows Phone 8,所以我將它們轉換爲Windows Phone運行時組件以使其可以與Windows Phone一起使用。WinPRT

現在的問題是我已經創造了他們,但顯示錯誤在下面,

#pragma once 
    #include "Encoder.h" 

    namespace YakPRT 
    { 
    public ref class YakPRTComponent sealed 
    { 
     public: 
     YakPRTComponent(); 
     void yakEncode(paTestData *yakData, uint8_t *rawData, int rawDataSize); 
     void EncodeData(paTestData *yakData, uint8_t *rawData, int rawDataSize); 
     void signalHandler(int signum); 
       int yakRecordCallback(const void *inputBuffer, void *outputBuffer, 
          unsigned long framesPerBuffer, 
          const StreamCallbackTimeInfo* timeInfo, 
          StreamCallbackFlags statusFlags, 
          void *userData); 
     PaError yakAudioStreamOpen(paTestData *yakData); 
     PaError yakAudioStreamStart(paTestData *yakData); 
     PaError isYakAudioStreamNotStopped(paTestData *yakData); 
     PaError yakCloseAudioStream(paTestData *yakData); 
    private: 
     Encoder *_encoder; 
     }; 
     } 

以下錯誤從上面的代碼來了,

錯誤C3987:「yakEncode」:公共簽名成員包含原生型 'paTestData *'

錯誤C3992: 'getYakCodec':公衆成員的簽名包含無效的類型

注:paTestDa TA是一個結構,

typedef struct 
    { 
     int   frameIndex; /* Index into sample array. */ 
    FILE  *recFileStream; /* Record the stream into File */ 
    uint8_t  *encoderOutput; 
    int   allocOutputSize; /* memory size allocated */ 
    int   encoderOutputSize; 
    PaStream *recordStream; /* PaStream opened to record Audio callback. */ 
    AVContext *c; 
    } paTestData; 

我不擅長使用C++,會有人請我說這是什麼錯誤,以及如何糾正這一點。 。

回答

9

我是從這個link

而創建的Winodws手機運行時組件,這將是有用的。 。 。