0

私は Pascal プログラマですが、Windows 用の C ライブラリをコンパイルする必要があります。

そのライブラリは、 portaudio lib を使用してオーディオ ポートにアクセスするespeak (ボイス シンセサイザ)です。私は C ヘッダーを Pascal に変換しましたが、そのライブラリを Linux で Pascal ヘッダーを使用して使用しても問題はありません。また、Linux でその lib をコンパイルしても問題ありません (いくつかの Make... 完了です...)。

しかし、Windows でも使用したいので、Microsoft Visual Studio をインストールし、プロジェクトをロードしました。

ライブラリをコンパイルすると、次のようなメッセージが表示されます。

wavegen.obj : エラー LNK2019: 関数 "int __cdecl WavegenInitSound(void)" で参照されている未解決の外部シンボル _Pa_Initialize (?WavegenInitSound@@YAHXZ)

ライブラリへのリンクが見つからないようです。そのライブラリ (portaudio.dll) の内容と場所を宣言するにはどうすればよいですか。

コードに #include "portaudio.h" があるので、関数へのリンクが定義されていると思います。しかし、使用するライブラリ (portaudio.dll) が定義されている場所が見つかりません。

PS:私は素晴らしいCを話せないので、いくつかのコードは大歓迎です...

どうもありがとう

4

1 に答える 1

0

リンク先の portaudio のバージョンがportaaudio.h、eSpeak がコンパイルするバージョンと同じであることを確認する必要があります。

eSpeak ソースには、portaudio の v18 と v19 の両方のヘッダーが含まれています。また、portaudio.hどの IIRC が v18 ヘッダーのコピーであるかも示します。

于 2013-05-26T00:31:08.237 に答える