【问题标题】:Problems with std::stoi, was not declared on MinGW GCC 5.1.0没有在 MinGW GCC 5.1.0 上声明 std::stoi 的问题
【发布时间】:2017-08-08 17:19:50
【问题描述】:

我在运行 MinGW GCC 5.1.0 的计算机上尝试了我的代码。

当我进入时:

g++ hope.cpp -o hope -I D:\armadillo-7.600.2\include

cmd 显示给我:

hope.cpp:183:26: error: 'stoi' was not declared in this scope
Point_Num = stoi(temp[1]);//number of point
                      ^
hope.cpp:190:34: error: 'stof' was not declared in this scope
Point(i, 0) = stof(temp[travel]);

但是当我进入时:

g++ hope.cpp -o hope -I D:\armadillo-7.600.2\include -std=c++11

cmd显示给我:

C:\Users\von77\AppData\Local\Temp\ccXdhQzS.o:hope.cpp:(.text$_ZN4arma7op_norm21vec_norm_1_direct_stdIdEET_RKNS_3MatIS2_EE[_ZN4arma7op_norm21vec_norm_1_direct_stdIdEET_RKNS_3MatIS2_EE]+0x7b): undefined reference to `dasum_'
C:\Users\von77\AppData\Local\Temp\ccXdhQzS.o:hope.cpp:(.text$_ZN4arma7op_norm21vec_norm_2_direct_stdIdEET_RKNS_3MatIS2_EE[_ZN4arma7op_norm21vec_norm_2_direct_stdIdEET_RKNS_3MatIS2_EE]+0x7f): undefined reference to `dnrm2_'
C:\Users\von77\AppData\Local\Temp\ccXdhQzS.o:hope.cpp:(.text$_ZN4arma4blas3dotIdEET_yPKS2_S4_[_ZN4arma4blas3dotIdEET_yPKS2_S4_]+0x3f): undefined reference to `ddot_'
C:\Users\von77\AppData\Local\Temp\ccXdhQzS.o:hope.cpp:(.text$_ZN4arma6lapack5gesddIdEEvPcPiS3_PT_S3_S5_S5_S3_S5_S3_S5_S3_S3_S3_[_ZN4arma6lapack5gesddIdEEvPcPiS3_PT_S3_S5_S5_S3_S5_S3_S5_S3_S3_S3_]+0x8c): undefined reference to `dgesdd_'
collect2.exe: error: ld returned 1 exit status

在我使用 atoi 而不是 stoi 之后: 我得到了与“g++ hope.cpp -o hope -ID:\armadillo-7.600.2\include -std=c++11”相同的结果。

【问题讨论】:

    标签: c++11 gcc mingw


    【解决方案1】:

    你需要包含字符串标题

    #include <string>
    

    你需要指定命名空间

    std::stoi(temp[1]);
    

    【讨论】:

    • 我已经这样做了,但结果和以前一样
    • undefined reference 错误是由于缺少库,您需要使用 -l 选项指定哪个我猜您需要 -larmadillo 或 -llapack 或 -磅
    • 你以前用过犰狳吗?
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 2013-01-23
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    相关资源
    最近更新 更多