C++ 如何让IDE提供C++;图书馆?

C++ 如何让IDE提供C++;图书馆?,c++,netbeans,ide,gnu,C++,Netbeans,Ide,Gnu,我找到了如何在编译时将正确的、当前版本的GNU作为目标 现在每当我试图编译。。我假设有很多错误与C++库有关。我目前正在我的MacBook上使用最新版本的NetBeans,并安装了最新的Mountain Lion NetBeans在该行下显示一条红线: #include <random> 我右键单击项目文件夹并点击“运行”,它显示以下错误: Undefined symbols for architecture x86_64: “std::uu 1::基本字符串,std::u 1:

我找到了如何在编译时将正确的、当前版本的GNU作为目标

现在每当我试图编译。。我假设有很多错误与C++库有关。我目前正在我的MacBook上使用最新版本的NetBeans,并安装了最新的Mountain Lion

NetBeans在该行下显示一条红线:

#include <random>

我右键单击项目文件夹并点击“运行”,它显示以下错误:

Undefined symbols for architecture x86_64:
“std::uu 1::基本字符串,std::u 1::分配器>::比较(char const*)const”,引用自: 弹药:弹药中的setElementData(std::_1::basic_string,std:_1::allocator>,std:_1::basic_string,std::_1::allocator>) Armor.o中的Armor::setElementData(std::_1::basic_字符串,std:_1::分配器>,std:_1::basic_字符串,std:_1::分配器>) 消耗品::setElementData(std::_1::basic_string,std::_1::allocator>,std::_1::basic_string,std::_1::allocator>)位于消耗品.o中 bioture.o中的bioture::setElementData(std:::u 1::basic_string,std::u 1::allocator>,std::u 1::basic_string,std::u 1::allocator>) Entity.o中的Entity::setElementData(std::_1::basic_string,std:_1::allocator>,std:_1::basic_string,std:_1::allocator>) Item.o中的Item::setElementData(std::\uuu 1::basic\u字符串,std:\uu 1::allocator>,std::\uuu 1::basic\u字符串,std::\uu 1::allocator>) parser.o中的parseElement(std:_1::basic_istream>&,std:_1::vector>&,XMLSerializable*) ... “std::_1::_vector_base_common::_throw_length_error()const”,引用自: _ZNSt3矢量4项分配2如果生物中的每个类型的值都是向前的,则启用。o std::_1::vector>::在biecast.o中分配(无符号长) void std::_1::vector,std:_1::allocator>,std:_1::allocator,std:_1::allocator>>>::_push_back_slow_path,std:_1::allocator>const&>(std:_1::basic_string,std:_1::allocator>const&)在Entity.o中 void std::_1::vector>::_push_back_slow_path(XMLSerializable*const&)在parser.o中 void std::_1::vector>:::_push_back_slow_path(生物*const&)在CreatureFactory.o中 std::_1::vector,std:_1::allocator>,std:_1::allocator,std:_1::allocator>>::在CreatureFactory.o中分配(无符号长) std::_1::vector>::_在地下城级别中追加(无符号长,平铺常量&)


你知道为什么会这样吗?它甚至与库有关吗?

您的问题是您的函数调用是错误的

  • 您当前正在调用一个版本的
    getline
    ,该版本可与
    FILE
    指针一起使用,这不是您想要的。这是编译器根据包含的头找到的唯一一个

  • 您可能正试图从输入流中提取一行,对吗?所以试试看。确保你的
    #包括

  • 另外,您可能不想在输出流上调用
    getline

  • ---编辑---


    您添加的错误看起来好像库路径设置不正确。。。很抱歉,在没有访问系统的情况下很难修复此问题,希望其他人能够帮助您。祝你好运。

    从错误的开头开始。main.cpp的第46行是什么?它实际上是一条空白行。我右键单击项目文件夹并点击“运行”,以确保它运行的文件正确。我已经加上它说的了。那行是空的,哈哈,我发誓。我刚刚把同样的代码上传到我的SSH上,它编译后运行得非常好。我不知道它是如何在服务器上100%正常运行的,但当我下载相同状态的代码时,会出现不停的错误我很幸运,在运行一个终端命令来显示我隐藏的文件后,我找到了包含所有库和插件等的旧目录。因此,我只是复制了所有新文件,选择覆盖旧文件,并将编译器路径设置回原来的状态。现在唯一的问题是我的makefile如何编译/链接所有内容。我好近啊!坚持下去!然后您将能够回答其他人关于NetBeans的问题:-)谢谢。如果您熟悉makefiles,请随时帮助我解决我遇到的最后一个问题,哈哈:
    Undefined symbols for architecture x86_64: