問題タブ [gcc5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
raspberry-pi2 - Raspberry Pi - 致命的なエラー: sys/cdefs.h: そのようなファイルまたはディレクトリはありません
最新の Raspbian システム イメージを使用して、Raspberry Pi で gcc5.3.0 をコンパイルしようとしています。
ただし、元のコンパイラ (gcc4.9) は、libgcc をコンパイルするときに sys/cdefs.h を作成しないと文句を言います。
持っていることを確認してlibc6-dev
インストールしbuild-essential
ました。
そこで私はgrep -R 'cdefs' /usr/include/
それを検索し、/usr/include/bsd/ で見つけました。sys ディレクトリを作成し、/usr/include/bsd/sys の下にこれらのヘッダーへのハード リンクを作成しました。
今回は、もっと奇妙なエラー /usr/include/stdio.h:312:8: error: unknown type name 'FILE' が表示されました。
これをstackoverflowで検索しましたが、同様の質問https://stackoverflow.com/a/21047237/5691005があります。しかし、/usr/include/sys と /usr/include/bsd を削除してから libc6-dev を再インストールすると、/usr/include の下に sys/cdefs.h が見つからず、コンパイラはまだエラーを出しました。
私は今、完全に迷っています。任意の提案をいただければ幸いです。
c++ - C++17 std::shared_mutex はまだ利用できませんか?
C++ コンパイラ サポートを見ると、GCC 5.0+ で の時間指定されていないバージョンstd::shared_mutex
が利用できるようです。ただし、 を使用しgcc version 5.3.0 20151204 (Ubuntu 5.3.0-3ubuntu1~14.04)
てコンパイルしても-std=c++1z
、共有ミューテックスの単純な初期化は次のようになります。
いいえ、私はすでに適切なヘッダーを含めています: #include <shared_mutex>
.
存在しないように見えるため、適切なヘッダーを見つけることができません。実際には、リンカは(C++14 標準のような)/usr/include/c++/5/shared_mutex
の実装のみを含むライブラリ locate at を使用します。std::shared_timed_mutex
にリポジトリを追加し、それらのビンを適切にセットアップするためにppa:ubuntu-toolchain-r/test
使用して、gcc-5 と g++-5 をインストールしました。update-alternatives
最新の C++17 標準を使用してコードを正しくコンパイルするためにできることはありますか? -std=c++1z
ばかげた質問かもしれませんが、既にサポートされているはずなのに、使い始めるのは時期尚早ですか? サポートされているからですよね?
c++ - Valgrind 認識されない命令
次のコードがあります。
を使用してプロファイリングしようとしましvalgrind
たが、次のように表示されます。
次の複数のインスタンスが先行します:
私は、valgrind-3.11.0 を使用して gcc 5.3.1 でコンパイルする x86-64 プラットフォームで標準パッケージを使用して Debian を使用しています。不正な命令は libstdc++6 内にあるようです。
valgrind
コードをプロファイリングするにはどうすればよいですか?