【发布时间】:2022-11-03 03:17:56
【问题描述】:
我正在尝试使用 SFML 库
#include <SFML/Graphics.hpp>
但我得到了错误
src.cpp:3:10: error: 'SFML/Graphics.hpp' file not found with <angled> include; use "quotes" instead
#include <SFML/Graphics.hpp>
^~~~~~~~~~~~~~~~~~~
"SFML/Graphics.hpp"
如果我使用有角度的引号,它仍然无法工作,因为 Graphics.hpp 包括它的其他使用有角度的包含的库,并且任何在线示例都包括带有 <> 的 SFML。我在 macOS 上使用 clang++(g++ 也是如此),我从 SFML 安装中的 include 文件夹中导入了 SFML 文件夹。我究竟做错了什么?
【问题讨论】:
-
你是如何告诉编译器在哪里可以找到 SFML 库的?
-
@user253751 它的文件夹在工作区中,当我将包含更改为使用 " 引号时,它确实有效,但就像我说的那样,它偶然发现了 Graphics.hpp 文件中的所有有角度的包含。
-
您需要将 SFML 包含目录(SFML 的父级)添加到包含搜索路径。
-
<> 通常意味着首先查看系统文件夹,而 "" 首先查看与您的代码相同的文件夹。我说通常是因为这是一个依赖于实现的特性。
-
"" 表示在当前目录中查找,<> 表示在库所在的位置查找。您可以使用编译器设置/标志来告诉编译器库在哪里。这给你一个提示吗?