

mobaxtermでC++の簡単なコードをコンパイルしたところ、このようなエラーがでました。

[code]

    ➤ g++ test.cpp -o test
    In file included from /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/i686-pc-cygwin/bits/gthr.h:148:0,
                     from /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/ext/atomicity.h:35,
                     from /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/bits/ios_base.h:39,
                     from /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/ios:42,
                     from /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/ostream:38,
                     from /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/iostream:39,
                     from test.cpp:1:
    /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/i686-pc-cygwin/bits/gthr-default.h: 関数 ‘int __gthread_mutex_timedlock(__pthread_mutex_t**, const __gthread_time_t*)’ 内:
    /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/i686-pc-cygwin/bits/gthr-default.h:768:12: エラー: ‘pthread_mutex_timedlock’ was not declared in this scope
         return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout);
                ^
    /usr/lib/gcc/i686-pc-cygwin/7.3.0/include/c++/i686-pc-cygwin/bits/gthr-default.h:768:12: 備考: suggested alternative: ‘__gthread_mutex_timedlock’
    
[/code]

原因がわからないので、このエラーの解決策を知っている方がいたら教えてください。  
ソースコードは以下の通りです。

[code]

    #include<iostream>
    using namespace std;
    int main()
    {
    cout<<"a";
    return 0;
    }
    
[/code]

ありがとうございます。  
g++ -Q -vの実行結果を以下に記します。

[code]

     ➤ g++ -Q -v
    組み込み spec を使用しています。
    COLLECT_GCC=g++
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/7.3.0/lto-wrapper.exe
    ターゲット: i686-pc-cygwin
    configure 設定: /cygdrive/i/szsz/tmpp/gcc/gcc-7.3.0-3.i686/src/gcc-7.3.0/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-7.3.0-3.i686/src/gcc-7.3.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libcilkrts --enable-libgomp --enable-libitm --enable-libquadmath --enable-libquadmath-support --disable-libssp --enable-libada --disable-symvers --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
    スレッドモデル: posix
    gcc バージョン 7.3.0 (GCC)
    
[/code]

初心者なものでやり方があってるかはわかりませんが、やってみたところこのようなエラーがでました。（下記参照）

[code]

    ➤ g++ --disable-threads test.cpp -o test
    cc1plus: エラー: unknown pass threads specified in -fdisable
    
[/code]


CC BY-SA 4.0
2018-12-08T17:55:45.097
51047
2020-09-25T14:04:20.260
2018-12-09T12:51:39.313
31365
31365
question
c++ cygwin
C++がコンパイルできません


現状MobaXtermの最新版をインストールし直すことでgccのバージョンが変わり，正常にコンパイル・実行することができます．

質問にある該当のエラーがでるMobaXtermにてaptによるgccのアップデートを実行しても，(gcc-7.3.0が)既に最新であるということになっており，アップデートすることができませんでした．


CC BY-SA 4.0
2019-11-11T07:55:54.973
60412
2019-11-11T07:55:54.973
35349
51047
answer