Clion 2021.2环境下CMake无法链接OpenImageIO问题求助
修复方案
你使用find_package(OpenImageIO REQUIRED)成功后,OpenImageIO官方已经提供了封装好的导入目标,直接在链接配置中引用即可,不需要手动填写库路径。
具体修改步骤
- 修正
CMakeLists.txt中的大小写问题,部分平台对find_package的包名大小写敏感,将find_package(Openimageio REQUIRED )改为find_package(OpenImageIO REQUIRED) - 移除冗余的
include_directories配置,导入目标会自动传递头文件路径 - 将
target_link_libraries中的${WHAT TO SET IT TOO}替换为OpenImageIO::OpenImageIO,如果后续用到OIIO的工具类相关接口,可以额外添加OpenImageIO::OpenImageIO_Util
修正后完整CMake配置
cmake_minimum_required(VERSION 3.19.2) project(Open_Test) set(CMAKE_CXX_STANDARD 17) find_package(Boost COMPONENTS system filesystem REQUIRED) find_package(OpenImageIO REQUIRED ) add_executable(Open_Test main.cpp) target_link_libraries(Open_Test ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY} OpenImageIO::OpenImageIO # 如需工具库功能放开下面这行注释 # OpenImageIO::OpenImageIO_Util )
错误原因说明
你之前的配置只链接了libOpenImageIO_Util工具库,而ImageOutput::create的实现位于OpenImageIO的主库中,因此会触发未定义符号的链接错误。直接填写库路径属于链接目录配置,不会实际关联对应的库文件,因此无法解决问题。
内容的提问来源于stack exchange,提问作者Man of Steam
相关产品推荐
相关产品推荐

