[PaddlePaddle/Paddle]编译win10平台源码没找到libpaddle_inference.lib

2024-01-05 780 views
9

根据源码编译教程编译win10平台源码,文档说明编译成功的项目结构如下:

build/paddle_inference_install_dir
├── CMakeCache.txt
├── paddle
│   ├── include
│   │   ├── paddle_anakin_config.h
│   │   ├── paddle_analysis_config.h
│   │   ├── paddle_api.h
│   │   ├── paddle_inference_api.h
│   │   ├── paddle_mkldnn_quantizer_config.h
│   │   └── paddle_pass_builder.h
│   └── lib
│       ├── libpaddle_inference.a (Linux)
│       ├── libpaddle_inference.so (Linux)
│       └── libpaddle_inference.lib (Windows)
├── third_party
│   ├── boost
│   │   └── boost
│   ├── eigen3
│   │   ├── Eigen
│   │   └── unsupported
│   └── install
│       ├── gflags
│       ├── glog
│       ├── mkldnn
│       ├── mklml
│       ├── protobuf
│       ├── xxhash
│       └── zlib
└── version.txt

问题1:但是我编译出来的paddle/lib文件夹中没有这个文件libpaddle_inference.lib (Windows),但是有一个叫paddle_fluid.dll和.lib的文件,这个paddle_fluid就是libpaddle_inference吗?

编译指令如下:

cmake .. -G "Visual Studio 14 2015" -A x64 -T host=x64 -DWITH_GPU=ON -DWITH_TESTING=OFF -DON_INFER=ON -DCMAKE_BUILD_TYPE=Release -DPY_VERSION=3  -DWITH_TENSORRT=ON -DTENSORRT_ROOT="E:\\TensorRT-7.0.0.11" -DWITH_NCCL=OFF -DCUDA_ARCH_NAME=Turing

问题2:还有编译Paddle-Inference-Demo的paddle_infer_demo项目提示如下,使用的是自己编译出来的预测库。libmklml_intel这个文件在预测库里没有找到。编译出来实则是叫mklml吗? image

回答

6

问题1:但是我编译出来的paddle/lib文件夹中没有这个文件libpaddle_inference.lib (Windows),但是有一个叫paddle_fluid.dll和.lib的文件,这个paddle_fluid就是libpaddle_inference吗?

这个目前看起来是文档没有更新,您得到的编译产物是正确的哈,windows下的动态库(.dll+.lib)

问题2:还有编译Paddle-Inference-Demo的paddle_infer_demo项目提示如下,使用的是自己编译出来的预测库。libmklml_intel这个文件在预测库里没有找到。编译出来实则是叫mklml吗?

看起来您用的demo CMakeLists.txt没有对windows做区分,请问您是用的和这个吗? https://github.com/PaddlePaddle/Paddle-Inference-Demo/blob/master/c%2B%2B/lib/CMakeLists.txt

3

不是,我是用项目里面的,所以我改回用这个就可以了?

3

您可以试下哈,应该是ok的。我看了下CMakeLists.txt中windows的mkl库名字是 mklml

0

更改CMakeLists.txt里面CUDA_LIB的路径为C:\Program\ Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64",编译完成后提示无法打开\cudart.lib

2

是不是路径没有设置成功啊,报错显示\cudart.lib,前面的Prefix都没加进去

6

image

4

路径设置完成之后编译存在如上问题,请问该如何解决

0

附加库目录路径如下 image

0

image paddle现在没问题,现在问题来自gflags @jiweibo

3

已解决,改成Release就行了