Windows 上 PaddleOCR C 推理提示找不到 paddle_fluid.dll 怎么解决【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR在 Windows 上按 Windows 编译教程 编译完 PaddleOCR 的deploy/cpp_inferC 推理 demo 后运行可执行文件时系统弹出“找不到paddle_fluid.dll”之类的提示程序无法启动。PaddleOCR 官方 FAQ 专门记录了这个问题FAQ 中“在 windows 上进行 cpp inference 的部署时总是提示找不到paddle_fluid.dll和opencv_world346.dll”一条给出了两种解决思路——把 Paddle 预测库和 OpenCV 库所在目录加入系统环境变量或者把缺失的 dll 拷贝到编译产出可执行文件所在的文件夹。根本原因是一致的可执行文件在运行时做动态链接它需要能找到 Paddle Inference 预测库和 OpenCV 库提供的 dll而这些 dll 默认既不在 exe 同目录也不在PATH里。本文只处理这一类“缺 dll 导致无法运行”的问题并给出当前文档对应的具体文件清单和验证方式。先确认你处在哪个版本语境下两份文档对 dll 名称和可执行文件名的描述存在版本差异先对照一下避免按错的文件清单找文件文档可执行文件报错中的 dll 示例FAQ描述较早期的 2.x 部署ocr_system.exepaddle_fluid.dll、opencv_world346.dllWindows 编译教程3.x 部署deploy/cpp_infer/build/Release/ppocr.exepaddle_inference.dll、opencv_world470.dll等原则不变以系统实际报错中点名的 dll 为准把“Paddle 预测库 OpenCV 编译过程产出的第三方 dll”放到 exe 能找到的位置。下面两种方案都按 FAQ 给出的两种方法展开。方案一把 dll 拷贝到可执行文件目录3.x 教程的默认做法当前 Windows 编译教程 的 Step 6 本身就要求做这件事编译完成后把下列文件拷贝到deploy\cpp_infer\build\Release\即ppocr.exe所在目录然后才能运行预测 demo。如果你按教程操作时跳过了这一步就会出现标题所述的报错。教程给出的拷贝清单以 OpenCV 4.7.0 源码编译为例文档示例路径paddle_inference\paddle\lib\paddle_inference.dllpaddle_inference\paddle\lib\common.dlldeploy\cpp_infer\build\bin\Release\abseil_dll.dlldeploy\cpp_infer\build\third_party\clipper_ver6.4.2\cpp\Release\polyclipping.dllopencv-4.7.0\build\install\x64\vc16\bin\opencv_world470.dll其中第 5 项的源路径对应教程 1.1.2 节“源码编译”的 OpenCV 安装目录如果你按 1.1.1 节下载的是预编译包预编译库在opencv/build下OpenCV dll 就在该目录的x64\vc16\bin中找opencv_world470.dll。第 3、4 项是编译deploy\cpp_infer时 CMake 过程顺带产出的第三方 dll位于你实际的 build 目录下。如果报错中还出现清单外的 dll例如旧版环境中的paddle_fluid.dll、opencv_world346.dll按 FAQ 的方法 2 执行把提示缺失的 dll 文件拷贝到编译产出可执行文件所在的文件夹中。拷贝完成后不需要重新编译直接运行 exe 即可。方案二把库目录加入系统环境变量FAQ 给出的第一种方法是“将 paddle 预测库和 opencv 库的地址添加到系统环境变量中”。具体到本文的目录结构就是把你解压/安装好的两个库的 dll 所在目录加入系统PATHPaddle 预测库paddle_inference\paddle\lib预编译包解压后的结构见 Windows 编译教程 1.2.1 节OpenCVopencv-4.7.0\build\install\x64\vc16\bin源码编译安装或opencv\build\...\bin预编译包。这个方案的副作用是修改当前系统的PATH环境变量对本机所有程序的 dll 搜索范围都会生效如果机器上有多个版本的 OpenCV 或 Paddle 预测库注意加入的目录不要与其他版本冲突。修改后需要重新打开命令行窗口/重启程序才能生效。两种方案任选其一即可不必同时做。验证重新运行预测 demodll 问题解决后按 Linux 版 C 部署文档 2.2 节准备好模型下载推理模型并按inference.pdiparams/inference.json/inference.yml的目录结构摆放再运行 demo。Windows 教程明确说明“编译完成后后续运行 demo 的指令与 Linux 一致”可执行文件为deploy\cpp_infer\build\Release\ppocr.exe。以最短的“文本检测 文本识别”组合为例build\Release\ppocr.exe ocr --input general_ocr_002.png --save_path output\ ^ --text_detection_model_dir models\PP-OCRv5_server_det_infer ^ --text_recognition_model_dir models\PP-OCRv5_server_rec_infer ^ --use_doc_orientation_classify False ^ --use_doc_unwarping False ^ --use_textline_orientation False ^ --device cpu说明general_ocr_002.png是文档要求的示例图片需要先下载到本地--save_path不填时默认为./output。成功条件以文档描述为准指定了save_path后该路径下会生成标准的 json 预测结果文件和预测结果图片。程序不再弹出缺 dll 提示、且输出目录里出现 json 和结果图就说明修复完成。修复后可能遇到的其他报错dll 问题解决后如果运行 demo 又遇到以下两类问题它们与缺 dll 无关直接查对应文档报错Model name mismatch, please input the correct model dir. model dir is xxx, but model name is xxx指定的模型名称和传入模型不匹配按 C 部署文档 FAQ 第 4 节用对应参数如--text_recognition_model_name指定与传入模型一致的名称。Windows 控制台输出中文乱码原因可能是控制台编码是 GBK按同一 FAQ 第 4 节将其设置为 UTF-8 编码。另外注意整体环境前提本教程要求的编译环境是 Visual Studio 2022 CMake 3.29、x64 目标平台见 Windows 编译教程 第 1 节。如果你的 dll 报错伴随编译期就出现的异常先回到 2.1 节核对OPENCV_DIR/OpenCV_DIR/PADDLE_LIB三个 CMake 选项是否填的是实际存在的路径。【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
