2013-07-17 47 views
1

我正在尝试使用GNU gprof剖析tesseract-ocr。在修改Makefile以将“-pg”添加到CFLAGS后,我将/ make安装该程序,然后执行OCR命令。此时,我期待在某处看到生成的“gmon.out”文件,但没有任何内容正在生成。使用GNU gprof剖析tesseract-ocr

我从来没有使用过GNU gprof。我错过了什么吗?下面是我做的,在高级别:

  1. 编译和安装Leptonica(为正方体-OCR的依赖)
  2. 的./configure的tesseract上,OCR,然后补充说: “-pg”,以在CFLAGS Makefile文件
  3. 时许,使安装上的Tesseract-OCR
  4. 运行的OCR命令(正方体/home/me/test.jpg ocr_out.txt -spa)

我也尝试添加“ - pg“指向其他变量,如CXX和LDFLAGS。我在Makefile中为tesseract-ocr和Leptonica尝试了这一点。

我还要指出的是,我做的这一切在Cygwin上...

任何想法?

回答

1

您需要在“config.status”中修改FLAGS,它可以自动配置tesseract-ocr中所有应用程序的生成文件。

添加-pg到CFLAGS,CXXFLAGS和CPPFLAGS,然后告诉我它是如何工作的。

Coensdentally,我也试图用gnu gprof剖析tesseract,除了在我的gmon.out中我看到在调用堆栈中只有一个函数是0。我想知道你的结果是否与众不同,请告诉我。

+0

感谢您的帮助。在config.status中将-pg添加到CFLAGS,CXXFLAGS和CPPFLAGS确实会生成gmon.out。我看到了和你一样的东西 - 只有一个函数(_GLOBAL__sub_I_main)在调用堆栈中使用0。嗯。我会试着去研究这个。如果您发现任何问题,请告诉我。是否有必要将-pg添加到leptonica版本中? – littleK

+0

这里有一个更新。我能够生成一个包含1721函数的gmon.out。在我原来的文章中,我提到我在Cygwin上做了所有事情。那么,昨天当我尝试将-pg添加到config.status时,我在另一个(Ubuntu)linux环境中做了这个。今天,我在我的原始Cygwin环境中尝试了它,并且它工作正常。除了环境,我没有做任何不同的事情...... – littleK