【问题标题】:SDL2 headers not being found when compiling os x编译 os x 时找不到 SDL2 头文件
【发布时间】:2015-12-06 00:22:37
【问题描述】:

我似乎无法编译这个程序。我班上有其他人编译这段代码没有问题。我正在使用相同的命令来尝试编译程序并将框架安装在与它们相同的目录中。 /图书馆/框架。我还安装了 eclipse 并按照 zamma.co.uk 教程设置 sdl2,但这也不起作用。这是我在编译时正在运行的命令

g++ -std=c++11 -o Gravity main.cpp Game.cpp Particle.cpp Point.cpp -I/Library/Frameworks/SDL2.framework/Headers -framework SDL2 -framework Cocoa

注意:我都试过了

#include <SDL.h>

和

#include <SDL2/SDL.h> 

两者都不起作用

【问题讨论】:

  • 当“都不工作”时,您从 g++ 得到什么错误输出?
  • 对于#include &lt;SDL2/SDL.h&gt;,我得到fatal error: 'SDL2/SDL.h' file not found,对于#include &lt;SDL.h&gt;,我得到ld:找不到框架SDL2 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)make: *** [全部] 错误 1 ​​@DrewMacInnis
  • find /Library/Frameworks/SDL2.framework -name "SDL.h" 找到那个头文件了吗?它是在 SDL2 目录下还是其他地方?
  • 当我运行该命令时,我得到了这个/Library/Frameworks/SDL2.framework/Versions/A/Headers/SDL.h@DrewMacInnis
  • 使用#include &lt;SDL2/SDL.h&gt; 应该可以。请参阅this 教程。但是我认为您不需要-I 选项;使用 -framework 会为您做到这一点。

标签: c++ macos sdl-2


【解决方案1】:

您在 cmets 中提到的 ld 链接器错误表明您可能需要传递 -F 选项或 -L,以防您的功能/库搜索路径找不到您的 SDL2 安装。

您的问题听起来类似于:

【讨论】:

  • 非常感谢!第一个链接有效,我永远找不到任何有用的东西。再次感谢@DrewMacInnis
  • 不客气@o.hdz1,虽然回答复选标记或赞成票会很好。
猜你喜欢
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 2015-11-24
  • 1970-01-01
  • 2011-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多