0

我在 Ubuntu 上使用 g++(GCC) 4.7.2。只是想弄清楚如何让“u8”字符串文字前缀进行编译。我认为它是在这个版本的 gcc 中“内置”的。

#include <iostream>
#include <string>
int 
main ()
{
  std::string example1 = u8"Abcd";
  std::cout << "Hello, world!\n";
  return 0;
}

$ g++ -Wall -B/usr/lib/x86_64-linux-gnu/helloworld.cpp -o hello helloworld.cpp:在函数'int main()'中:helloworld.cpp:12:26:错误:'u8'是未在此范围内声明 helloworld.cpp:12:28: error: expected ',' or ';' 在字符串常量 helloworld.cpp:12:15 之前:警告:未使用的变量 'example1' [-Wunused-variable]

我使用“-B”选项,因为那是我的 crt1.o 和 crti.o 所在的位置。

4

1 回答 1

3

这是一个 c++11 特性,所以添加-std=c++0x到你的命令行。这对我来说适用于 g++ 4.6.3,在 4.7.2 上-std=c++11可能也适用

于 2012-12-06T18:09:10.033 回答