安装opencv3.4.9 sudo ldconfig之后显示 /sbin/ldconfig.real: $PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 不是已知类型的库
时间: 2023-10-03 08:04:30 浏览: 42
这个错误提示是因为 `$PKG_CONFIG_PATH` 变量设置了一个未知类型的库路径,导致 `ldconfig.real` 命令无法识别。可以尝试以下方法解决:
1. 检查 `$PKG_CONFIG_PATH` 变量是否正确设置,如果不正确可以尝试清空该变量,重新运行 `sudo ldconfig` 命令。
2. 检查 `/etc/ld.so.conf` 文件中是否包含了非法路径,如果包含可以将其删除或注释掉,然后重新运行 `sudo ldconfig` 命令。
3. 如果以上方法都无法解决问题,可以尝试重新安装 opencv3.4.9,并确保按照官方文档的指引正确设置库路径和环境变量。
相关问题
CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(opencv_cl) SET(OPENCV_PATH /home/toybrick/rk3588_opencv) MESSAGE(STATUS "CMAKE_C_COMPILER:${CMAKE_C_COMPILER}") MESSAGE(STATUS "CMAKE_CXX_COMPILER:${CMAKE_CXX_COMPILER}") MESSAGE(STATUS "OPENCV_PATH:${OPENCV_PATH}") INCLUDE_DIRECTORIES(${OPENCV_PATH}/include/opencv4 ${OPENCV_PATH}/include) LINK_DIRECTORIES(${OPENCV_PATH}/lib /usr/lib/aarch64-linux-gnu/) SET(LINK_LIBS opencv_world mali pthread dl) ADD_EXECUTABLE(opencv_cl opencl_cs.cpp) TARGET_LINK_LIBRARIES(opencv_cl ${LINK_LIBS}) 在哪添加-Wl,-Bsymbolic
您可以在 SET 命令中设置变量 CMAKE_SHARED_LINKER_FLAGS,加上 -Wl,-Bsymbolic 选项即可。修改后的 CMakeLists.txt 如下:
```cmake
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(opencv_cl)
SET(OPENCV_PATH /home/toybrick/rk3588_opencv)
MESSAGE(STATUS "CMAKE_C_COMPILER:${CMAKE_C_COMPILER}")
MESSAGE(STATUS "CMAKE_CXX_COMPILER:${CMAKE_CXX_COMPILER}")
MESSAGE(STATUS "OPENCV_PATH:${OPENCV_PATH}")
INCLUDE_DIRECTORIES(${OPENCV_PATH}/include/opencv4 ${OPENCV_PATH}/include)
LINK_DIRECTORIES(${OPENCV_PATH}/lib /usr/lib/aarch64-linux-gnu/)
SET(LINK_LIBS opencv_world mali pthread dl)
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic")
ADD_EXECUTABLE(opencv_cl opencl_cs.cpp)
TARGET_LINK_LIBRARIES(opencv_cl ${LINK_LIBS})
```
这样设置 CMAKE_SHARED_LINKER_FLAGS 后,链接器在链接时会尽可能使用本地符号,而不是全局符号,从而解决符号版本不兼容的问题。
OpenCV(4.8.0) /io/opencv/modules/imgproc/src/histogram.cpp:3440:
报错原因是直方图输入数据为uint16,而OpenCV要求数据格式为uint8。通常的图像文件格式使用的是Unsigned 8bits,对应的参数类型是CV_8UC1。而float是32位的,对应的参数类型是CV_32FC1。double是64位的,对应的参数类型是CV_64FC1。在代码中,可以尝试将输入数据转换为uint8格式后再进行直方图均衡化操作。
#### 引用[.reference_title]
- *1* *2* *3* [opencv 直方图均衡化(-215:Assertion failed) _src.type() == CV_8UC1 in function ‘equalizeHist](https://blog.csdn.net/zhuiyuanzhongjia/article/details/124775364)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]