为什么c++标准库不起作用?

2023-12-15

我一直在尝试让我从学校服务器下载的程序在我的 Mac 上离线运行。我尝试按照教程更新 GCC,但由于某种原因,即使我使用了给定的命令,教程也不起作用。

现在,当我编译时..我收到一条错误,指出未找到..我不明白。我已经更新了 Xcode..遵循了大量的教程..但我仍然无法运行它!

为什么会说找不到随机数,导致致命错误?

Thanks

Error:

DungeonLevel.h:6:10: fatal error: 'random' file not found

“由于这是一个编码站点,我需要提供代码,因为我可能忘记包含头文件......”

#ifndef _DungeonLevel_included_
#define _DungeonLevel_included_

#include "Tile.h"
#include <vector>
#include <random>

class Player;

class DungeonLevel {
public:
    DungeonLevel(int iWidth, int iHeight, std::mt19937 & randomGen);
    ~DungeonLevel(void);

    void dump();
    char at(int x, int y);

    Creature * removeCreature(Creature * creatureToRemove);

    void moveCreature(Creature * creatureToMove, char dir);
    void placeInGame(Creature * creatureToPlace, std::mt19937 & randomGen);
    void placeInGame(Creature & creatureToPlace, std::mt19937 & randomGen);
    Tile & returnTile(int x,int y);
    int getWidth();
    int getHeight();

private:
    std::vector<std::vector<Tile>> m_vvTiles; //Tile was char

};

#endif

这是我的生成文件:

OBJECTS = Ammunition.o Armor.o Consumable.o Creature.o Entity.o Gold.o Item.o parser.o Potion.o Scroll.o Weapon.o XMLSerializable.o CreatureFactory.o DungeonLevel.o Player.o Tile.o ItemFactory.o
HEADERS = Ammunition.h Armor.h Consumable.h Creature.h Entity.h Gold.h Item.h parser.h Potion.h Scroll.h Weapon.h XMLSerializable.h CreatureFactory.h DungeonLevel.h Player.h Tile.h ItemFactory.h

all: Jhack

%.o: %.cpp $(HEADERS)
    clang++ -c $< -o $@ -std=c++11 -stdlib=libc++

Jhack: $(OBJECTS) main.o
    clang++ -o Jhack $^ -stdlib=libc++

clean:
    rm -f *.o Jhack

run: Jhack
    ./Jhack

苹果的gcc确实已经过时了。尝试使用 clang 和 libc++ 而不是 gcc 和 libstdc++ 进行构建。编译标志:-std=c++11 -stdlib=libc++,链接标志:-stdlib=libc++。使用 clang++ 而不是 g++。

Edit:请注意,您需要安装最新的命令行工具才能正常工作。
打开 XCode。转到“Xcode”->“首选项...”->“下载”选项卡。选择“命令行工具”并安装它们。如果显示已安装 - 单击“立即检查并安装”按钮检查更新。
在该类型之后clang++ --version在终端中,您应该看到类似以下内容:

Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.3.0
Thread model: posix

Edit 2:如果这没有帮助,并且您仍然拥有过时的编译器版本。尝试使用xcrun clang++代替clang++在你的 makefile 中。这将使用 xcode 工具链。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么c++标准库不起作用? 的相关文章

随机推荐

  • jQuery 单击复选框不会在 Firefox 中检查

    具体来说 输入类型复选框的内存 dom 在 FireFox 中不会接收 checked 属性 或任何其他已检查指示符 注释行可以取消注释以查看测试通过 但目前您将在 Firefox 中看到测试失败 http jsfiddle net mE3
  • 为什么每个 JS 对象都有一个未定义的属性 [重复]

    这个问题在这里已经有答案了 let obj a a b b for let p in obj console log p Output a b undefined 未定义的属性是怎么回事 这不是财产 这是函数返回 that 开发者工具 pr
  • android jetpack 项目给出 archlifecycleversion 构建错误

    我是 android 开发新手 刚刚按照本教程在 android studio 3 2 canary 中创建了我的第一个 hello world 项目 https developer android com jetpack docs get
  • Ansible:查找文件并循环路径

    使用 Ansible 角色 我想循环遍历文件路径列表 但出现错误 template error while templating string unexpected String home xyz download log 这是main y
  • 将 pyqtgraph 添加到 PyQt6

    所以我正在使用 Pyqt6 制作一个 GUI 并想在 Gui 中添加图形和其他数据 所以当我尝试添加图形时 我收到以下错误 调用 addWidget self QWidget 参数1具有意外类型 PlotWidget addWidget s
  • 慕尼黑第二级分组

    这是我的 xml 输入
  • 如何在公共场合创建和使用 Web 服务,但仍限制其仅用于我的应用程序?

    我正在创建一个带有创建 更新 删除调用的网络服务 但现在我想限制在我自己的网络应用程序上使用它 而不是其他客户端 我怎样才能拥有进行这些调用的明文 javascript 代码 但仍然确信凭证不会在其他地方使用 我的想法是为每个请求使用服务器
  • 如何在 C# Winform 中显示组合框中的第一项

    我有一个绑定到列表的组合框 我一直在尝试弄清楚如何在加载列表中的数据之前加载 Please Select 时在组合框中包含第一项 我试过这个 cbUpdate DataSource names cbUpdate Items Insert 0
  • Knockout.js 与 jquery ui datepicker 可以在除 IE 之外的任何地方工作

    我使用 knockout js 模板脚本创建了一个可以复制和删除的表单 小提琴可以找到here 我在 SE 的帮助下编辑了脚本 添加了 jquery ui 日期选择器 小提琴的简短版本可以在 此处 2 找到 到目前为止一切顺利 但在测试时我
  • 使用 GSON 将嵌套对象展平为目标对象

    最亲爱的Stackoverflowers 我想知道是否有人知道如何最好地解决这个问题 我正在与一个返回 json 对象的 api 进行通信 如下所示 field1 value1 field2 value2 details nested1 1
  • 如何在 Linux 上为 Aptana 设置内部浏览器

    我下载了 Aptana Studio Setup Linux zip 包 解压并运行 AptanaStudio 一开始很好 但报告了一个问题 无法创建此编辑器的嵌入式浏览器小部件 它不适用于您的操作系统 或者需要配置系统才能支持嵌入式浏览器
  • 是否可以从不同的布局初始化视图?

    我有一个Activity并与之相关layout 另外我还有另一个layout和一些Views 我想初始化一个变量 TextView 从我的Activity用一个View从那个独立的layout 我总是得到null public void o
  • 如何在 C# 应用程序中使用 Shell32?

    为了使 Shell32 正常工作 我应该在 C 应用程序中包含什么 Edit 我的应用程序无法识别 shell32 我应该包含哪些参考文献或库 我想做的是 Shell32 Shell shell new Shell32 Shell 我收到的
  • 全日历 slotMinutes 不起作用

    我想在我的日历中显示 15 分钟的 slotMinutes 但这不起作用 在这个小提琴上效果很好 document ready function var calendar calendar fullCalendar defaultView
  • Android - 无法获取某些联系人的电话号码

    我在提取联系人列表中某些人的电话号码时遇到问题 首先 我在列表视图中显示所有联系人 String projection new String ContactsContract Contacts ID ContactsContract Com
  • 如何在弹出通知时播放声音?

    我正在开发一个应用程序 用户可以使用两个开关按钮打开 关闭通知和通知声音 我创建了在状态栏上弹出的通知 我想在它们出现时播放默认声音 我编写了以下代码 但它似乎不起作用 关于如何让通知声音播放有什么想法吗 import android an
  • 连接两个 JInternalFrame 实例的 CubicCurve2D

    我一直在尝试找到一种方法 在 Swing 中 连接两个JInternalFrame与一个CubicCurve2D 也称为三次贝塞尔曲线 我想要实现的总体效果是一个类似于雅虎 管道 曲线应从一个内部框架的底部延伸到另一个内部框架的顶部 这里有
  • 如何在任何打开的窗口中获取鼠标下的文本

    我正在做一个C 语言的项目 我想制作一个类似于 Narcis 或 Easylingo 的词典 用户可以使用鼠标 只需在任何应用程序中将光标移动到单词上 然后程序就会检测到该单词并找到该特定单词的含义 我的问题是如何在 Microsoft O
  • 为什么 SetWindowsHookEx 必须与 Windows 消息队列一起使用

    我一直在尝试使用钩子进行一些操作 但我不明白为什么钩子必须与消息队列一起使用 hook SetWindowsHookEx WH KEYBOARD LL KeyboardProc NULL 0 MSG msg while GetMessage
  • 为什么c++标准库不起作用?

    我一直在尝试让我从学校服务器下载的程序在我的 Mac 上离线运行 我尝试按照教程更新 GCC 但由于某种原因 即使我使用了给定的命令 教程也不起作用 现在 当我编译时 我收到一条错误 指出未找到 我不明白 我已经更新了 Xcode 遵循了大