問題タブ [gcc4.7]
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.
gcc - GCC 4.7 を含む
で動作するように GCC 4.7 をコンパイルしましたがstdatomic.h
、うまくいかないようです-I
。stdatomic.h
に住んでいるようです/usr/include/c++/4.4.3
が、リンカーは、近くのディレクトリに他のファイルがたくさん必要だと言っています。-I
それらすべての場合でも、エラーが発生しますundefined reference to atomic_flag_clear_explicit
。これを正しくリンクする方法はありますか?
gmp - ネイティブコンパイルのためにgmp mpfr mpcと一緒にgcc 4.7ビルドで共有を無効にするのはなぜですか?
環境:
cpu: XEON NEHALEM E5530
os: SUSE 10 SP2
gcc: 4.1.2
m4、binutils、autoconf、automake: gcc 4.7 ビルドで必要な最新の更新。
PATH/LD_LIBRARY_PATH が正しく設定されています。
オブジェクト: gcc php httpd のネイティブ最適化。
ただし、明示的に gcc 4.7 configure --enable-shared --disable-static. ppl の構成パラメーターは、ppl の構成ヘルプにリストされていません。
c++ - GCC-4.7コンパイルエラー
このスニペットの最後の行をプログラムコードに追加すると、次のようになります。
このエラーが発生します:
それは私のせいですか?はいの場合、私が間違ったことは何ですか?いいえの場合、誰かが同じエラーを抱えていますか?
c++ - gcc 4.7 のビルド後に Clang 3.2 ビルドが壊れる
したがって、Clang が (ほとんどの場合) Gnu の libstdc++3 に依存していることはわかっていますが、gcc 4.7.0 をビルドした後 (すばらしい!) 問題に遭遇したようです。clang のすべてのパスが間違っています。ビルド ディレクトリをクリーンアップして、clang を最初からやり直す必要がありますか?
私はLinux x86、Ubuntu 12.04を使用しています
c++ - 関数がスローされない条件を指定するnoexcept
noexceptに頭を悩ませています。
これは単純な関数ですが、idx <= 0 の場合にのみ例外がスローされることがわかります。わかりません。したがって、私の仕様 noexcept(idx > 0) では、この関数は idx > 0 の場合にのみ例外をスローしないことをコンパイラに伝えようとしています。
助けていただければ幸いです。正しく説明していることを願っています。簡単な説明だけでも結構です。
osx-lion - OS X Lion 上の GCC 4.7: オブジェクト ファイルのサフィックスを計算できません
この問題はすでに議論されていることを知っています(そこに含めてください)。しかし、残念ながら、この問題を解決することはできません。
それで、私は OS X Lion、i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 を持っていて、gcc-4.7.0 をビルドしようとしています。
まず第一に、私はこのコンパイラを Debian GNU/Linux で既にビルドしているので、問題はないと確信していました...
だから、私はこのGCCマニュアルを読み、説明されているとおりにすべてを行いました:
というわけで、MPC、MPFR、GMPのダウンロードに成功し、./configureもOKでした。しかし、 makeの数分後、次のエラーが発生します。
私が理解しているように、これは MPFR、MPC、または GMP との動的リンクのエラーによるものではありません。これらのライブラリは GCC ソース コード ツリー内に構築されているためです。
~/.bash_profile で:
私を助けてください、私はどんなアドバイスにも感謝します。
c++ - テンプレートエイリアスを使用し、テンプレートを継承し、「テンプレートの親」タイプを使用する場合のコンパイルエラー
次の要件を持つデータコンテナがあります。
- 高速にする:したがって、通常の継承ではなくテンプレート
- さまざまな実装を使用する
- より多くのメソッドでこれらの実装を拡張できる
- データはテンプレート引数を介して指定され、データコンテナアイテムへのポインタを保存できる必要があります
私が思いついた解決策は次のとおりです。
次のエラーが発生します(gcc 4.7):
T *data
の代わりに使用する場合T data
(ただし、その間接参照は必要ありません)、またはを使用せずに直接storage_container_impl
持っている場合に機能します。ミックスインスタイルを使用しても問題は解決しません。ポインタと同様に、テンプレート宣言にループがあるなどの理由で、それが機能しない理由もありません。これは、問題の最小化されたバージョンです。どんな助けでもいただければ幸いです!T data
storage_container
storage_container_impl
container_ref
installation - Fedora 16 に gcc-4.7 をインストールしても gcc-4.6 が表示される
ソースから Fedora 16 に gcc-4.7 をビルドしてインストールしました。しかし、インストール ディレクトリ (/opt/gcc-4.7.0/bin) に移動してバージョンを問い合わせるとg++ -v
、gcc version 4.6.3 ...
. 構成時のようにサフィックスを使用しなかった-4.7
ため、インストールされたバイナリはg++
. インストール後に必要なその他の構成はありますか?
c++ - g ++ 4.7は、演算子""をマクロ展開の兄弟として評価します
一部のコードをGCC4.7(4.6から)に移行し、いくつかのコンパイラエラーが発生し、GCC4.7移植ガイドに記載されている問題を見つけました。
ユーザー定義のリテラルと空白
ISOC11モードのC++コンパイラは
std={c++11,c++0x,gnu++11,gnu++0x}
、一部の有効なISO C++03コードと互換性のないユーザー定義リテラルをサポートしています。特に、文字列リテラルの後、有効なユーザー定義リテラルになる可能性のあるものの前に空白が必要になりました。有効なISOC++03コードを取得します
C ++ 03では、TIMEマクロはある文字列リテラルに展開され、他の文字列と連結されます。C ++ 11
__TIME__
では拡張されておらず、代わりoperator "" __TIME__
に検索されているため、次の診断が行われます。これは、空白なしでマクロが続くすべての文字列リテラルに適用されます。修正するには、文字列リテラルとマクロ名の間に空白を追加するだけです。
エラーを修正することはできますが、なぜこれを実行する必要があるのかを知りたいのです。__TIME__
はマクロであるため、前処理段階で(または同様の)に"something"__TIME__
変更される"something""15:52:03"
ため、コンパイラはそれをとして見る機会がありませんoperator ""
。
この動作は標準で承認されていますか、それともバグですか?
c++ - C ++コンパイルエラー(gcc 4.7)
第5.9章の終わりに11の演習を行おうとしています。BjarneStroustrupC++プログラミング言語。
20行のコメントを外すと、次のエラーが発生します。
コンパイルコマンド:
私が間違ったことは何ですか?