# WSL 安装 Ubuntu-22.04
在 windows powershell 执行以下命令即可。
wsl --install # 安装 WSL | |
wsl -d Ubuntu-22.04 # 安装 Ubuntu-22.04 LTS | |
wsl --unregister Ubuntu # 注销 WSL 默认分支 |
具体的 WSL 使用指令可以 Windows powershell 中用 wls --help
查看。
# WSL 下安装 CUDA
WSL 不需要安装 Linux 版的 CUDA,只需要安装 Windows 版本的 NVIDIA 驱动程序即可。
# 安装 NVIDIA 驱动程序
NVIDIA 驱动程序安装网址
# 安装 Linu x86 CUDA Toolkit
CUDA 工具包链接
具体命令可以查看 NVIDIA 给的指令,很详细,有在线安装和离线安装等其他版本,安装可能会遭遇网络和安装源问题等不可抗力,需要多试几次。
# WSL 下安装 OpenCV
默认编译器为 GCC,这里只演示 OpenCV 基本模块,contrib 不考虑,实际我也没编译过,具体可参考的 Installation in Linux
# 下载 OpenCV
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip | |
unzip opencv.zip | |
mv opencv-4.x opencv |
改好文件名后把 OpenCV 源文件放在你认为合适的目录下,切换至 WSL 命令行界面进入 OpenCV 源文件所在目录。
# 编译 OpenCV
- 创建 build 目录存放编译的文件
mkdir -p build && cd build |
- 进入 OpenCV 源文件目录并设置
cmake ../opencv | |
# 调用 window 底层 api | |
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON .. |
参考的教程是 Linux 安装 OpenCV, 但实际上用的还是 Windows 的 api,所以需要修改一下配置。
- 编译
make -j8 |
- 检查
ls bin | |
ls lib | |
ls OpenCVConfig*.cmake | |
ls OpenCVModules.cmake |
编译完后能看到 build 下的 lib 和 bin 文件夹里有文件,同时还有.cmake 文件就行了。
# 测试
这篇教程实际就是为了运行 kSVD-Image-Denoising 这个项目而写的,还需要修改一下 CMakeLists.txt 文件,即在原文件第 24 行修改以下命令。
cuda_add_executable(denoise denoise.cpp ${sparsecoding} ${kSVD} ${utilities}) | |
# add start | |
target_link_libraries(denoise /usr/local/cuda-12.1/targets/x86_64-linux/lib/stubs/libcublas.so) | |
target_link_libraries(denoise /usr/local/cuda-12.1/targets/x86_64-linux/lib/stubs/libcusolver.so) | |
target_link_libraries(denoise ${OpenCV_LIBS}) | |
# add end |
libcublas.so 和 libcusolver.so 需要根据自己的实际情况找到并修改。修改完就可以在项目根目录下直接运行以下命令就行了。
mkdir build | |
cmake ../ | |
make |
# 参考
Install Linux on Windows with WSL
CUDA on WSL User Guide
Installation in Linux
OpenCV GTK+2.x error - "Unspecified error (The function is not implemented...)"
Error in linking cublas Cmake error