是否有任何问题或方法在库文件(libSoundTouch.so)的代码中使用打印件。 我正在研究库--SoundTouch,只是在它的c ++代码中添加一些打印,这导致创建上面和其他一些库文件。虽然它编译并且一切正常但我无法在屏幕上看到打印输出(我也检查了dmesg日志,但也看不到输出)
我错过了什么吗?或者,有没有办法在那里启用打印?
答案 0 :(得分:0)
终于有了工作。
问题和我做了什么:
当我们运行soundstretch实用程序时,它会查找共享库libSoundTouch.so.0
我有soundtouch库和soundstretch实用程序的源代码。 我在soundtouch源代码中添加printfs并编译和安装soundtouch和soundstretch。 soundtouch库安装在/ usr / local / lib
中我正在使用Ubuntu,显然,您可以直接从Ubuntu软件中心安装soundstretch实用程序,该软件中心安装在正确的路径中(声音在运行时查找)
现在,当我运行soundstretch实用程序时,它正在调用从Ubuntu软件中心安装的库,就像它在默认路径中一样。这就是为什么我无法看到我在soundtouch库源代码中添加的任何打印件,因为这些函数从未被调用过。
所以,有一件事我删除了Ubuntu soundtouch库并在LD_LIBRARY_PATH变量中添加了/ usr / local / lib,我现在可以看到printf正在运行。