This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP-EXP432P401R:STD没有成员to_string

Guru**** 2587365 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/601345/ccs-msp-exp432p401r-std-has-no-member-to_string

部件号:MSP-EXP432P401R

工具/软件:Code Composer Studio

大家好,我在CCS中的C语言发展了一段时间。  我想移植到C++,但遇到了各种问题。  在与他们进行了一些斗争之后,我决定创建一个完全空白的新项目,并首先创建一个main.cpp文件。  如果您愿意,请从Hello World方面开始。 下面是一些构建良好的代码:  

#include <string>
#include <iostream>

using namespace std;

int main()
{
间隔x =8;
字符串c ="任何内容";
cout << c << endl;
}

现在,当我执行以下操作时...

#include <string>
#include <iostream>

using namespace std;

int main()
{
间隔x =8;
字符串c ="任何内容";
cout <<c <<endl;

cout << std::to_string(x)<< endl;//#136 namespace "std"没有成员"to_string"
}

所以,to_string绝对是在std命名空间中,这个命名空间没有被污染或任何东西,有人能帮上忙吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    所以我找到了我想的答案。 project->Propertiesd->C/C++build->取消选中:"Use default build command"->在文本框中输入以下内容:"-std=c++11"

    我明白为什么会这样。 我正在使用MSP432,请告诉我在以下位置应该选择哪些选项:CCS Build -> MSP432 Compiler -> Advanced Options -> Language Options.....或此类别中的任何选项,因为我不熟悉的项目很多
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    取消选中“使用缺省生成命令”将更改发送到make的命令,但不会更改编译器选项。 它实际上根本不会影响编译器。

    高级选项->语言选项部分是您的理想选择。

    我相信我们只支持C+03而不支持C+11。 与我在对话框中看到的内容以及我在此处看到的内容匹配:
    processors.wiki.ti.com/.../C++_Support_in_TI_Compilers

    我们正在开发C++ 14。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    约翰斯,

    感谢您提供此链接,这是一篇很好的文章。  尚未完全消化其中的内容,但我会在接下来的几天内进行。  在高级选项中,我当前选中了以下选项:  

    支持C++运行时类型信息

    允许外部C函数传播异常

    其他两个选项是否有用?  如果我的意图是尽可能发展为c++'ish,我是否应该使用它们?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    其他两个选项是否有用?  如果我的意图是尽可能开发为c++'ish,我应该使用它们吗?[/QUOT]

    这些是新用户很少需要的高级选项。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    约翰斯,

    嘿,我很抱歉再次提出这个问题。  请告诉我是否应该开始新的线程。  我已经阅读了整个嵌入式c++页面。  我想使用嵌入式c++,但当我选择它时,我收到不再支持它的错误。  但这不是真正的问题。  我仍然无法在c++模式下编译CCS。  在上面我以为我弄明白了,但不管我怎么编码,我都没有错误或警告。  我甚至改变了

    INT MAIN (void){...} 

    至  

    Bob main (void){...} 

    没有出现错误,于是我查看了构建日志,得到了以下输出:  

    无效****为项目Habs_RTOS构建配置调试****
    
    "C:\\ti\\ccs710\\ccsv7\\utils\\bin\\gmake "-std=c+03 -k -j 4 all -o
    C:\ti\ccs710\cccs76\utils:无效选项-ccsv710\ccs\bin\gutils
    
    
    
    
    :cscvspi:cscv7\ccs\spi:cscspi:cscspi:cscspi: 3
    此程序针对Windows32构建
    ,将错误报告到<bug-make@gnu.org
    
    ****构建完成****
    

    现在我使用了-std=c++11,03和0x,但它们似乎都不起作用。  阅读您的答复后,我可以看到这并不重要,因此我选中了该框以使用默认命令行选项。  现在我遇到了一些错误,这是很好的。  问题是我应该在语言选项下选择什么?  下面是我当前选择的内容的图片。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mike,

    您不想更改传递给gmake的命令。  由于指定的命令无效,生成正在停止。  编译器的选项最终位于CCS生成的make文件中。在GUI中指定选项时,不想在make命令行中传递这些选项。

    您需要将make命令恢复为:

    此致,

    John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    约翰斯,

    谢谢,是的,我已经这么做了,我遇到了一些错误,这很好。  语言模式下有4个选项,您有什么建议吗?  严格的ANSI还是放松?  我以前从未听说过。  谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅 ARM编译器手册 中标题为 “更改ANSI/ISO C/C++语言模式”的部分。

    谢谢,此致,

    -George