前提・実現したいこと
こんにちは。LinuxのC++でのコンパイルエラーを解決する知恵を貸していただきたいです。
発生している問題・エラーメッセージ
具体的には、次のような状態です。
main.cpp
1 2#include<iostream> 3 4int main(){} 5
$ g++ main.cpp In file included from /usr/include/c++/7/bits/nested_exception.h:40:0, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from main.cpp:1: /usr/include/c++/7/bits/move.h:73:27: error: ‘remove_reference’ in namespace ‘std’ does not name a template type forward(typename std::remove_reference<_Tp>::type& __t) noexcept ^~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/move.h:73:43: error: expected ‘,’ or ‘...’ before ‘<’ token forward(typename std::remove_reference<_Tp>::type& __t) noexcept ^ /usr/include/c++/7/bits/move.h: In function ‘constexpr _Tp&& std::forward(int)’: /usr/include/c++/7/bits/move.h:74:33: error: ‘__t’ was not declared in this scope { return static_cast<_Tp&&>(__t); } ^~~ /usr/include/c++/7/bits/move.h:74:33: note: suggested alternative: ‘__N’ { return static_cast<_Tp&&>(__t); } ^~~ ~~ 以下略 ~~
略しますが、とにかく膨大なメッセージが出てしまいます。
###試したこと
代わりにclang++で
$ sudo apt install libc++-dev
$ clang++ main.cpp -stdlib=libc++
と試したところ、
/usr/bin/ld: -lc++abi が見つかりません
と出てしまいました。
丸投げのようで申し訳ないですが、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー