【问题标题】:How can I make cmake search for the framework that is located in a user-defined location?如何使 cmake 搜索位于用户定义位置的框架?
【发布时间】:2015-08-27 09:18:06
【问题描述】:

我现在正在尝试将 MAC 中的 jpeg 框架与 cmake 链接。问题是 CMake 似乎总是在系统路径中搜索 jpeg.framework,而它应该链接到用户定义的位置。我使用以下命令强制 cmake 在用户定义的文件夹中搜索框架,但失败:

  target_link_libraries(${ProjectNameC} "-framework jpeg")

  set_target_properties(${ProjectNameC} PROPERTIES LINK_FLAGS "-F${user_defined_folder}")

我也试过这种方式:

   set_target_properties(${ProjectNameC} PROPERTIES LINK_FLAGS "-F${user_defined_folder} -framework jpeg")

两种解决方案都失败了。我可以使用 find_library(),但是因为 jpeg 框架是在没有任何find_library() 的辅助文件的情况下创建的。 有什么想法吗?

【问题讨论】:

    标签: macos frameworks cmake


    【解决方案1】:

    您可以将find_package(JPEG required)CMAKE_PREFIX_PATH 结合使用(记录在here)。

    请注意,如果可能,最好避免将特定于平台的内容(例如 -framework)放入您的 CMake 文件中,因为这会导致难以在其他平台上生成有效的构建系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      相关资源
      最近更新 更多