没有实现的Tesseract函数

Tesseract function with no implementation

本文关键字:Tesseract 函数 实现      更新时间:2023-10-16

我正在尝试使用Tesseract在Visual Studio以外的东西中创建一个项目,但似乎没有关于如何去做这件事的任何文档。

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

谢谢。

编辑:我发现打开函数包括在Unix中使用fcntl.h文件,但我拥有的版本(c++ Builder)不包括打开函数。我可以像在Unix中那样在我自己的文件中定义open函数,但这似乎有点鲁莽。有什么建议吗?

在Microsoft工具中,将函数open()替换为_open(),定义在io.h中。在这里(MSDN)你可以找到更多关于它的信息

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文件描述符。

open()是一个标准的UNIX函数