portaudioのコンパイル
(2011-03-03時点の情報)
- pa_stable_v19_20071207.tar.gz をダウンロードして展開
- /c/ProgDat/installed/portaudio-v19_20071207_stable が展開先
- そのままconfigure make すると
gcc -shared lib/.libs/libportaudio-2.dll.def src/common/.libs/pa_allocation.o src/common/.libs/pa_converters.o src/common/.libs/pa_cpuload.o src/common/.libs/pa_dither.o src/common/.libs/pa_debugprint.o src/common/.libs/pa_front.o src/common/.libs/pa_process.o src/common/.libs/pa_skeleton.o src/common/.libs/pa_stream.o src/common/.libs/pa_trace.o src/hostapi/wmme/.libs/pa_win_wmme.o src/os/win/.libs/pa_win_hostapis.o src/os/win/.libs/pa_win_util.o -lwinmm -o lib/.libs/libportaudio-2.dll -Wl,--enable-auto- image-base -Xlinker --out-implib -Xlinker lib/.libs/libportaudio.dll.a Creating library file: lib/.libs/libportaudio.dll.a src/hostapi/wmme/.libs/pa_win_wmme.o: In function `QueryFormatSupported': c:\ProgDat\installed\portaudio-v19_20071207_stable/src/hostapi/wmme/pa_win_wmme.c:549: undefined reference to `PaWin_InitializeWaveFormatExtensible' c:\ProgDat\installed\portaudio-v19_20071207_stable/src/hostapi/wmme/pa_win_wmme.c:555: undefined reference to `PaWin_InitializeWaveFormatEx' src/hostapi/wmme/.libs/pa_win_wmme.o: In function `InitializeWaveHandles': c:\ProgDat\installed\portaudio-v19_20071207_stable/src/hostapi/wmme/pa_win_wmme.c:1751: undefined reference to `PaWin_InitializeWaveFormatExtensible' c:\ProgDat\installed\portaudio-v19_20071207_stable/src/hostapi/wmme/pa_win_wmme.c:1759: undefined reference to `PaWin_InitializeWaveFormatEx' src/hostapi/wmme/.libs/pa_win_wmme.o: In function `OpenStream': c:\ProgDat\installed\portaudio-v19_20071207_stable/src/hostapi/wmme/pa_win_wmme.c:2260: undefined reference to `PaWin_DefaultChannelMask' c:\ProgDat\installed\portaudio-v19_20071207_stable/src/hostapi/wmme/pa_win_wmme.c:2309: undefined reference to `PaWin_DefaultChannelMask' collect2: ld returned 1 exit status make: *** [lib/libportaudio.la] Error 1
対策に、http://www.tzik.mydns.jp/ap2007/wiki/index.php?PortAudio%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6 にあった、configure.in の
「src/os/win/pa_win_waveformat.o」を「src/hostapi/wmme/pa_win_wmme.o」のあとにスペースあけてくっつければいいみたいですが
をやってみた。
.inはautoconfで使われるもので、autoconfはMinGWにはいってたので、
とりあえずわからないながらやってみた。
.inはautoconfで使われるもので、autoconfはMinGWにはいってたので、
とりあえずわからないながらやってみた。
$ aclocal aclocal: macro `_LT_DECL_SED' required but not defined aclocal: macro `_LT_FUNC_STRIPNAME_CNF' required but not defined
なにかエラーになってしまったが
$ autoconf
はうまく行った様子なので、
./configure --prefix=/usr/local
とやってうまく行った様子なので
make make install
で上手くコンパイルできた。