0

ライブラリファイル(libSoundTouch.so)のコード内でプリントを使用する問題または方法はありますか?私はライブラリに取り組んでいました-SoundTouch、そのc ++コード内にいくつかのプリントを追加するだけで、上記と他のライブラリファイルが作成されます。コンパイルしてすべてが機能しますが、画面にプリントの出力が表示されません(dmesgログも確認しましたが、出力も表示されませんでした)

私は何かが足りないのですか?または、そこで印刷を有効にする方法はありますか?

4

1 に答える 1

0

ようやく動作しました。

問題と私がしたこと:

soundstretch ユーティリティを実行すると、共有ライブラリ libSoundTouch.so.0 が検索されます。

私はsoundtouchライブラリとsoundstretchユーティリティのソースコードを持っていました。私はsoundtouchソースコードにprintfsを追加し、soundtouchとsoundstretchをコンパイルしてインストールしていました。soundtouch ライブラリは /usr/local/lib にインストールされます

私はUbuntuを使用していますが、正しいパスにインストールされているUbuntuソフトウェアセンターからsoundstretchユーティリティを直接インストールできるようです(実行時にsoundstretchが検索します)

ここで、soundstretch ユーティリティを実行すると、Ubuntu ソフトウェア センターからインストールされたライブラリがデフォルト パスにあるため、呼び出されていました。そのため、soundtouch ライブラリのソース コードに追加したプリントを確認できませんでした。これらの関数は呼び出されなかったからです。

そのため、Ubuntu サウンドタッチ ライブラリを削除し、LD_LIBRARY_PATH 変数に /usr/local/lib を追加したところ、printf が動作していることがわかります。

于 2013-03-22T04:13:45.893 に答える