Để build được thư viện PPOCR C++ bằng Visual Studio các bạn cần build lib Paddle Inference trước. Sau khi build thành công bạn sẽ được file paddle_inference.dll.
Đây là bước bắt buộc, và bạn cần build đúng với phần cứng CPU/CUDA, bài viết này hướng dẫn chi tiết cách build để build được thành công.
1. Chuẩn bị
- Phiên bản hệ điều hành dùng trong bài viết là Windows 10 64-bit
- Python 3.12.8
- Visual Studio 2022 Community 64-bit: MSVC 14.31 (version cao hơn có thể sẽ gặp lỗi về static_cast khi compile)
- Cmake
- CUDA 12.8 (cho lib sử dụng GPU, CPU không cần): Cài đặt tương tự bài viết này Hướng dẫn cài đặt Tensorflow GPU với CUDA 11.2 trên Windows 10
2. Chuẩn bị source code Paddle
Clone repo github của Paddle: https://github.com/PaddlePaddle/Paddle
git clone https://github.com/PaddlePaddle/Paddle.git
Checkout branch bạn muốn build, trong bài viết sẽ sử dụng branch release/3.1:
git checkout release/3.4
3. Make file với cmake
Mở Command Prompt (CMD) tại folder Paddle và sử dụng command bên dưới để generate solution (*.sln)
CPU
|
1 2 3 4 5 6 |
rmdir /S /Q build mkdir build cd build cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release -DWITH_MKL=ON -DWITH_GPU=OFF -DON_INFER=ON -DWITH_PYTHON=OFF -DMSVC_STATIC_CRT=OFF pause |
CUDA
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
rmdir /S /Q build_cuda mkdir build_cuda cd build_cuda cmake .. ^ -G "Visual Studio 17 2022" -A x64 -T v143 ^ -DON_INFER=ON ^ -DWITH_GPU=ON ^ -DWITH_PYTHON=OFF ^ -DWITH_TESTING=OFF ^ -DWITH_MKL=ON ^ -DWITH_AVX=ON ^ -DMSVC_STATIC_CRT=OFF ^ -DCMAKE_CUDA_COMPILER="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.8/bin/nvcc.exe" ^ -DCUDAToolkit_ROOT="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.8" ^ -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.8" ^ -DCUDNN_ROOT="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.8" ^ -DCMAKE_CUDA_ARCHITECTURES=75-real;86-real;89-virtual pause |
Sử dụng “/” trong CUDA path để không lỗi
4. Build solution
- Vào folder build vừa tạo, mở inference_lib_dist.vcxproj bằng Notepad++, replace \common\common.* bằng \common\$(Configuration)\common.*
- Replace \paddle\phi\phi* bằng \paddle\phi\$(Configuration)\phi*
- Mở file paddle.sln bằng Visual Studio 2022, chọn config Release|x64 và build project inference_lib_dist.
Đối với máy cấu hình trung bình thời gian build có thể từ 1-2 tiếng.
Các lib sau khi build và code include sẽ nằm trong folder paddle_inference_install_dir với cấu trúc tương tự như sau:

Chúc các bạn thành công!