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