从库文件的代码中启用打印

时间:2013-03-16 16:18:05

标签: c++ debugging shared-libraries soundtouch

是否有任何问题或方法在库文件(libSoundTouch.so)的代码中使用打印件。 我正在研究库--SoundTouch,只是在它的c ++代码中添加一些打印,这导致创建上面和其他一些库文件。虽然它编译并且一切正常但我无法在屏幕上看到打印输出(我也检查了dmesg日志,但也看不到输出)

我错过了什么吗?或者,有没有办法在那里启用打印?

1 个答案:

答案 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正在运行。