2016-10-22 6 views
1

Я хочу использовать rtaudio в своем проекте. Я следую инструкциям в файле install.txt, который говорит мне запускать ./configure, затем make.Как скомпилировать rtaudio на windows с mingw?

Когда я бегу сделать я получаю кучу предупреждений:

$ make 
Making all in . 
make[1]: Entering directory `/c/Users/Onur/Desktop/Development/rtaudio-4.1.2' 
    CXX  RtAudio.lo 
In file included from RtAudio.cpp:43:0: 
RtAudio.h:585:11: error: 'uintptr_t' does not name a type 
    typedef uintptr_t ThreadHandle; 
     ^
In file included from RtAudio.cpp:43:0: 
RtAudio.h:608:3: error: 'ThreadHandle' does not name a type 
    ThreadHandle thread; 
^
In file included from RtAudio.cpp:3682:0: 
c:\mingw\include\audioclient.h:166:50: error: expected constructor, destructor, or type conversion before ';' token 
DEFINE_ENUM_FLAG_OPERATORS(AUDCLNT_STREAMOPTIONS); 
               ^
c:\mingw\include\audioclient.h:206:13: error: '_In_' has not been declared 
      _In_ AUDCLNT_SHAREMODE ShareMode, 
      ^
c:\mingw\include\audioclient.h:206:37: error: expected ',' or '...' before 'ShareMode' 
      _In_ AUDCLNT_SHAREMODE ShareMode, 
            ^

Было бы удивительным, если кто-то может вести меня по этому вопросу.

+0

Похоже, что это относится к некоторым нестандартным материалам. Вы уверены, что у вас установлены все пакеты зависимостей? –

+0

Я использую wasapi. От каких зависимостей зависит rtaudio? – onurhb

+0

Я не знаю, в частности, но кажется, что ['uintptr_t'] (http://en.cppreference.com/w/c/types/integer) хочет, чтобы у вас был C99 или C++ 11. –

ответ

0

Я нашел решение с помощью CMake на окнах:

  1. Просто скачать CMake гуй
  2. Получить RTAudio источник из GitHub или их официального сайта
  3. Open RtAudio.h и включаю math.h
  4. Сгенерировать файлы сборки с помощью cmake gui в отдельную папку (перед настройкой отключить функцию BUILD_TESTING)
  5. Перейдите к сборке папки с помощью терминала. И запустите mingw32-make. Убедитесь, что mingw/bin добавлен в путь, чтобы он мог найти mingw32-make.
  6. Вы должны иметь три файла: librtaudio.dll librtaudio.dll.a и librtaudio_static.a

Это работал для меня.