【问题标题】:having trouble getting started with ISOCPP.net C++ build for windows (nuwen)开始使用 ISOCPP.net C++ build for windows (nuwen) 时遇到问题
【发布时间】:2016-10-07 09:25:52
【问题描述】:

我从isocpp.org 'Get started' 设置了一个最小的 MinGW (nuwen),它是为 windows 编译的 gcc 版本 6.1.0

这是我的代码

#include <stdio.h>
#include <string>

int main (int argc, char* argv[]) {
    printf ("hello world\n");

    std::string mystring {"my string"};

}

我不断收到以下错误(以及其他错误)

C:\util\MinGW\proj>gcc main.cpp

C:\Users\gmyer\AppData\Local\Temp\ccXSjGdh.o:main.cpp:(.text+0x2e): undefined reference to `std::allocator::allocator()' collect2.exe: error : ld 返回 1 个退出状态

我做了什么

  • 检查包含目录中是否存在字符串文件 CPLUS_INCLUDE_PATH=C:\util\MinGW\include;C:\util\MinGW\include\freetype2 C_INCLUDE_PATH=C:\util\MinGW\include;C:\util\MinGW\include\freetype2
  • 检查分配器是否存在于“字符串”文件中

我是否需要添加另一个包含文件才能使其工作?

【问题讨论】:

    标签: c++ compiler-errors mingw


    【解决方案1】:

    您应该使用g++ 编译代码(请参阅Compiling a C++ program with gcc)。

    也可以使用--std=c++11 开关 (g++ --std=c++11) 或更改

    std::string mystring {"my string"};
    

    进入

    std::string mystring = "my string";
    

    uniform initialization 是 C++11 功能,Nuwen MinGW Distro v 14.0 使用 C++03 作为默认模式)。

    【讨论】:

      猜你喜欢
      • 2017-04-21
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 2018-11-21
      • 2016-10-05
      • 2022-09-23
      • 1970-01-01
      相关资源
      最近更新 更多