ubuntu中编译ncnn+vulkan

一、vulkan编译:

sudo apt-get install cmake git gcc g++ mesa-* libwayland-dev libxrandr-dev 
sudo apt-get install libvulkan1 mesa-vulkan-drivers vulkan-utils libxcb-keysyms1-dev
sudo apt-get install libxcb1-dev libx11-dev
wget https://sdk.lunarg.com/sdk/download/1.2.162.1/linux/vulkansdk-linux-x86_64-1.2.162.1.tar.gz
mkdir vulkan 
mv vulkansdk-linux-x86_64-1.2.162.1.tar.gz vulkan
cd vulkan
tar xf vulkansdk-linux-x86_64-1.2.162.1.tar.gz
# 下载github
cd 1.2.162.1/source/shaderc
python update_shaderc_sources.py 
# 编译
cd 1.2.162.1
bash vulkansdk  # 编译vulkan
source setup-env.sh # vulkan -> 系统环境变量
./x86_64/bin/vulkaninfo

可能出现问题:如果找不到python,解决办法如下:

cd到、usr/bin下面,查找python的版本,然后进行软连接。

ln -s /usr/bin/python3.6 /usr/bin/python

二、ncnn编译 

mkdir build
cd build
cmake -DNCNN_VULKAN=ON ..
make -j8
make install

1、可能出现问题:fatal: not a git repository (or any of the parent directories): .git

原因:ncnn中glslang文件为空的,在cmake时git不能下载,所以需要手动下载glslang代码 

wget https://codeload.github.com/KhronosGroup/glslang/zip/86ff4bca1ddc7e2262f119c16e7228d0efb67610

2、可能出现问题:

ubuntu中编译ncnn+vulkan_第1张图片

 解决办法,将编译好opencv的lib和include文件放到、usr/local中的lib和include中

三、编译算法:

1、出现问题:

ubuntu中编译ncnn+vulkan_第2张图片

解决办法:添加 -lglslang -lshaderc_shared ,参考https://github.com/Tencent/ncnn/issues/3207

最终指令如下:

/usr/bin/g++ -o test_multi_cam_gpu main.cpp RrConfig.cpp WindNetPredictDetect_gpu.cpp -I ./

-I /home/mzd/project/ken/ncnn_build_2004_vulkan/include

-I /home/mzd/project/ken/ncnn_build_2004_vulkan/include/ncnn

-I /home/mzd/project/ken/ncnn_build_2004_vulkan/include/glslang

-I /home/mzd/project/ken/ncnn_build_2004_vulkan/include/glslang/Include

-I /home/mzd/project/ken/opencv_build_2004/include

-I /home/mzd/project/ken/opencv_build_2004/include/opencv

-I /home/mzd/project/ken/opencv_build_2004/include/opencv2

-I /home/mzd/project/ken/vulkan/1.2.162.1/x86_64/include

-I /home/mzd/project/ken/vulkan/1.2.162.1/x86_64/include/vulkan

-I /home/mzd/project/ken/vulkan/1.2.162.1/x86_64/include/glslang

-L /home/mzd/project/ken/opencv_build_2004/lib

-L /home/mzd/project/ken/ncnn_build_2004_vulkan/lib

-L /home/mzd/project/ken/vulkan/1.2.162.1/x86_64/lib

-lncnn -lglslang -lvulkan -lSPIRV -lGenericCodeGen -lMachineIndependent -lOGLCompiler -lopencv_imgcodecs -lopencv_video -lopencv_imgproc -lopencv_core -lopencv_highgui -lopencv_videoio -lgomp -lpthread -lstdc++ -fno-builtin -lshaderc_shared 

你可能感兴趣的:(经验心得,linux,ubuntu,python,linux)