【问题标题】:Installed libjpeg and added to CMakeLists.txt but unable to include it in source安装 libjpeg 并添加到 CMakeLists.txt 但无法将其包含在源代码中
【发布时间】:2019-08-10 23:48:03
【问题描述】:

我正在尝试在我的 C++ 项目中使用 libjpeg,该项目是在 macOS 上使用 CMake 构建的。以下是我尝试使用它的步骤。

$ brew install libjpeg

CMakeLists.txt

find_package (jpeg REQUIRED)
target_link_libraries(my_project libjpeg)

main.cpp

#include <jpeglib.h>

构建

$ cmake -Bbuild -G Xcode .

当我在 Xcode 上构建和运行时,我收到错误 jpeglib.h file not found

我已验证此文件存在于/usr/local/include

感谢您的帮助!

编辑:这显然不是链接问题的副本,因为我们正在处理两个完全不同的构建系统。我没有直接使用gcc,而是使用cmake。这具体是一个cmake 问题。

【问题讨论】:

标签: c++ cmake libjpeg


【解决方案1】:
target_link_libraries(my_project libjpeg)

你像这样使用find_package

target_link_libraries(my_project ${JPEG_LIBRARIES})
target_add_include_directories(my_project ${JPEG_INCLUDE_DIR})

【讨论】:

    【解决方案2】:

    你的 CMakeLists.txt 应该是这样的

    find_package (jpeg REQUIRED)
    target_link_libraries(my_project jpeg::jpeg)
    

    当您运行 CMake 命令时,如果成功,则 find_package 调用应输出。留意那些“找到:”输出行以确保找到 jpeg 库。

    如果没有找到它,那么它可能与您的 CMakeLists.txt 没有任何关系,因为 find_package() 调用看起来是正确的。如果 cmake 文件显示未找到 libjpeg,请尝试检查它是否安装正确。

    【讨论】:

      猜你喜欢
      • 2014-02-20
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      • 2023-03-30
      • 2020-03-06
      相关资源
      最近更新 更多