Tesseract功能没有实现

时间:2011-10-17 19:59:57

标签: c++ function implementation tesseract

我正在尝试使用Tesseract在Visual Studio之外创建一个项目,但似乎没有任何关于如何执行此操作的文档。

我现在的问题是文件scanutils.cpp调用一个函数open(char *,int,mode_t),这在任何地方都没有定义。这可能是一个Unix功能,它应该位于我的机器上或者应该位于我的机器上某个位置?

谢谢。

编辑:我发现open函数包括在Unix中使用fcntl.h文件,但我的版本(C ++ Builder)不包含open函数。我可以在我自己的文件中定义teh open函数,因为它在Unix中,但这似乎有点鲁莽。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

在Microsoft工具中,函数open()已替换为_open()中定义的io.hHere (MSDN)您可以找到有关它的更多信息。

答案 1 :(得分:1)

open()是一个Posix函数,通常将open系统调用包装在符合要求的系统中。这是一个非常“低级”的功能,非常适合平台。

提供等效功能的可移植C函数是fopen(),因为open()的结果与FILE * fp = fopen(...); int fd = fileno(fp);相同 - 这里fd是基础open()调用返回的整数。

顺便提一下,标准C函数fwrite()fread()映射到Posix函数read()write()

尽量使用标准C函数和FILE*数据结构,以实现最大的可移植性。如有必要,您始终可以通过fileno()获取Posix文件描述符。

答案 2 :(得分:0)

open()是标准的UNIX函数。