問題描述
demo指路:https://github.com/EdVince/Stable-Diffusion-NCNN
在Linux端使用cmake
編譯文件時(shí),
cd x86/linux
mkdir -p build && cd build
cmake ..
make -j$(nproc)
執(zhí)行cmake ..
命令,報(bào)錯(cuò):
CMake Error at CMakeLists.txt:14 (FIND_PACKAGE):
By not providing "Findncnn.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "ncnn", but
CMake did not find one.
Could not find a package configuration file provided by "ncnn" with any of
the following names:
ncnnConfig.cmake
ncnn-config.cmake
Add the installation prefix of "ncnn" to CMAKE_PREFIX_PATH or set
"ncnn_DIR" to a directory containing one of the above files. If "ncnn"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
See also "/home/gaoyi/ldm-ncnn/Stable-Diffusion-NCNN/x86/linux/CMakeFiles/CMakeOutput.log".
問題原因
拉取ncnn
的代碼庫(包括submodule)后沒有build and Install
,所以cmake
時(shí)找不到對(duì)應(yīng)的包,只需要讓它找到對(duì)應(yīng)的包即可,分為2步:
- 生成對(duì)應(yīng)的cmake文件(
ncnnConfig.cmake
、ncnn-config.cmake
) - 設(shè)置環(huán)境變量(
CMAKE_PREFIX_PATH
或者ncnn_DIR
)
解決方法
-
build and Install
ncnn
需要執(zhí)行以下命令:
cd ncnn
mkdir -p build
cd build
cmake ..
cmake
之后繼續(xù)在build目錄下,執(zhí)行:
make install
發(fā)現(xiàn)彈出的信息中有:
這其中的ncnnConfig.cmake、ncnn.cmake
就是我們需要找的包,找到上一級(jí)目錄,右鍵復(fù)制路徑
- 設(shè)置環(huán)境變量
export ncnn_DIR=/home/gaoyi/ldm-ncnn/Stable-Diffusion-NCNN/ncnn/build/install/lib/cmake/ncnn
這個(gè)環(huán)境變量就是上一步復(fù)制的路徑
- 重新運(yùn)行
cmake
cmake ..
看到:文章來源:http://www.zghlxwxcb.cn/news/detail-511587.html
-- Configuring done
-- Generating done
-- Build files have been written to: /home/gaoyi/ldm-ncnn/Stable-Diffusion-NCNN/x86/linux
成功!文章來源地址http://www.zghlxwxcb.cn/news/detail-511587.html
到了這里,關(guān)于CMake Error at CMakeLists.txt: (FIND_PACKAGE)找不到ncnn包的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!