pkg_test文件夹下的目录如下├── cmake │ ├── MyLibConfig.cmake │ └── MyLibConfigVersion.cmake ├── include │ └── header.h └── lib ├── libmylib.a └── libmylib_shared.so,切该目录已经包含在CMAKE_PREFIX_PATH下,为什么其他cmake文件提醒[cmake] Could not find a package configuration file provided by "MyLib" with any of [cmake] the following names: [cmake] [cmake] MyLibConfig.cmake [cmake] mylib-config.cmake
时间: 2023-07-20 07:11:04 浏览: 120
cmake-3.23.1.zip
出现这个问题的原因可能是CMake没有正确设置CMAKE_PREFIX_PATH变量,或者CMake缓存没有被正确地重新生成。
首先,确保CMAKE_PREFIX_PATH变量包含了pkg_test文件夹的路径。可以在CMakeLists.txt文件中添加以下行来设置CMAKE_PREFIX_PATH:
```
set(CMAKE_PREFIX_PATH "/path/to/pkg_test:${CMAKE_PREFIX_PATH}")
```
如果CMAKE_PREFIX_PATH已经正确设置,那么可能是CMake缓存没有正确地更新。可以尝试清除CMake缓存并重新生成:
```
rm -rf CMakeCache.txt
mkdir build
cd build
cmake ..
```
如果问题仍然存在,那么可以尝试手动指定MyLibConfig.cmake的路径。可以在CMakeLists.txt文件中添加以下行:
```
find_package(MyLib CONFIG REQUIRED PATHS "/path/to/pkg_test/cmake")
```
这将强制CMake在指定的路径中搜索MyLibConfig.cmake文件。
阅读全文