在g ++编译中找不到SDL.h

时间:2013-11-03 15:55:44

标签: c++ macos command-line g++ sdl

使用OSX和vim ...... 从网站下载SDL2,然后将SDL2.framework移动到/ Library / Frameworks /

使用教程代码和Makefile ...找不到SDL.h。

Makefile:g++ sdl-config --cflags --libs sdltest.cpp -o sdltest

我已经阅读了很多关于将编译器指向框架的内容,但我尝试过的所有东西似乎都没有用,我想/ Library / Frameworks /是编译器看起来的默认区域

让它发挥作用。

让这项工作进行了多次尝试,但每次尝试的问题根源在于,当我使用SDL2时,我所看到的大多数教程都是针对SDL1.2。

这改变了make文件中的标志,要搜索的目录和其他内容。有趣的是,当它位于/ Library / Frameworks /目录中时,我永远无法让编译器看到SDL.h。但是使用Macports安装SDL2允许我将编译器指向Macports安装SDL2头文件的位置 - / opt / local / include / SDL2

这似乎已经为我做了

1 个答案:

答案 0 :(得分:0)

感谢您的提问,因为我遇到了类似的困难!关于如何使用Macports安装SDL2似乎缺乏详细而有用的教程。

我搞定了!以下是步骤:

  1. 访问此链接以查找适合您的Mac OS X版本的Macports软件包。安装所需的版本,完成后再继续执行第2步。

    https://www.macports.org/install.php

  2. 安装完成后,请访问此链接以查找SDL2端口。

    https://www.macports.org/ports.php?by=name&substr=libsdl

    我需要的是第三名,名为libsdl2。我将为您提供名称,因此请随时访问该链接,以便进行自己的启发。

  3. 打开终端,然后输入sudo port install libsdl2。如果一切按计划进行,您应该看到它的安装和更新。完成后,您应该功能性安装SDL2头文件(以.h结尾),静态库文件(以.a结尾)和动态库文件(包含dylib })。您可能需要在Finder中进行一些探索以找到它的安装位置。

  4. 此解决方法的优点是能够将SDL与Xcode,Eclipse等其他IDE一起使用。 Xcode要求您指定/Library/Frameworks的路径,而此技术应该允许您使用您选择的IDE。

  5. 最后一步是进入IDE并为这些新安装和编译的SDL文件分配构建路径。例如,我的路径是/opt/local/include/opt/local/lib。请注意您的路径可能与这些路径不同,但这些示例应该让您了解在哪里查看。

  6. 希望这对某人有帮助!