【问题标题】:-framework command line option in cmakecmake 中的 -framework 命令行选项
【发布时间】:2015-11-17 04:49:59
【问题描述】:

我正在尝试编译一些已经(由其他人)在 Linux 中使用 Cmake 编写的 c++ 代码,我遇到了 CMakeLists.txt 中的 SET(CMAKE_CXX_LINK_FLAGS "-framework OpenGL") 行。我从未将-framework 视为命令行选项,并且似乎在任何帖子/网站/cmake 文档中都找不到任何提及它的内容。而且,当然,我收到了错误c++: error: OpenGL: No such file or directoryc++: error: unrecognized command line option '-framework'

有人知道 -framework 是做什么的吗?当我尝试使用它来构建/配置 VTK 时,Cmake 遇到了 OpenGL 的问题,但我认为我已经解决了这个问题,因为它最终可以工作。 VTK 构建工作而不是这个有意义吗?无法识别的 -framework 选项错误是否是由于缺少 OpenGL 而导致的?还是它们是分开的?

【问题讨论】:

标签: c++ opengl cmake vtk


【解决方案1】:

-framework 选项被 Apple clang 接受;框架是一种将头文件和库打包到特定目录结构中的方式。

无条件指定这些选项的 CMake 文件不可移植;一个更好的跨平台解决方案是使用find_package 命令。你可以阅读更多关于如何使用find_packagehere

【讨论】:

  • 谢谢。你知道是否有一个 find_package 命令的功能与 -framework 选项相同,还是不可能?我觉得我不太了解 -framework 的内部工作原理,无法知道如何使用 find_package 来完成同样的事情
猜你喜欢
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多