問題タブ [gnu-toolchain]

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.

0 投票する
1 に答える
3179 参照

gcc - 現在のプラットフォームの BFD アーキテクチャ仕様を入手するにはどうすればよいですか?

次の方法を使用して、C プログラムにテキスト ファイルを埋め込みました: http://www.linuxjournal.com/content/embedding-file-executable-aka-hello-world-version-5967

objcopyは、「--output」オプションでターゲットを指定する必要があります。

objcopy がユーザーのアーキテクチャを使用するように、Makefile で「--output」を設定するにはどうすればよいですか?

ありがとう。

0 投票する
0 に答える
726 参照

gcc - リンク時間が過剰な ARM クロス コンパイラ

現在、デバイス メーカーが提供するさまざまなツール チェーンを使用して、大規模なコード ベースを複数のアーム プラットフォームに移植しています。Linux でコード ベースをビルドしてリンクすると、リンクに約 30 秒かかります。私が持っている多くのクロスコンパイラでは、この時間はほぼ同じですが、そのうちのいくつかでは、この時間は 10 分以上です。これを下げるために多くの手法を試しましたが、何も役に立ちません (例: スーパー ライブラリの作成)。顕著な違いを生む唯一のことは、-0s でリンクすることです。これにより、時間が 40% 近く短縮されますが、それでも 6 分間のリンクが残ります。また、コードの多くが最適化されているため、デバッグ中は理想的とは言えません。

あるクロスコンパイラが他のものよりもはるかに遅くなる原因は何ですか? 一般に、これらのコンパイラの特性はほぼ同じです (ARMv7、NEON サポート、gcc 4.x)。

リンク時間を改善する可能性のある提案はありますか? 3 つの静的ライブラリにリンクし、残りはシステム ライブラリへの動的リンクです。

0 投票する
1 に答える
3629 参照

cross-compiling - ツールチェーンにg++サポートを追加する方法

toochainにg++コンパイラのサポートを追加したいと思います。powerpcプラットフォーム用のツールチェーンを構築しています。グーグルで調べたところ、既存のツールチェーンに外部ツールチェーンを追加する必要があることがわかりました。

このバイナリを作成したい:CXX = powerpc-linux-uclibc-g ++

buildrootバージョン2010.02とuClibcバージョン0.9.30.2gccバージョン4_3_4を使用しています。何か提案はありますか?

0 投票する
2 に答える
1882 参照

c - gnu ツールチェーンを使用して依存関係のないバイナリをコンパイルする基本

作成したオーディオ ファイルをSoXを使用して遅くしようとしています。定期的に使用する Linux マシンでソース ファイルを簡単にコンパイルできますが、アクセス許可とメモリが制限されている別の Linux マシンにバイナリを転送する必要があります。自分のマシンの usr/local/bin フォルダーから別のフォルダーにバイナリをコピーしようとしましたが、関数参照が見つかりませんでした。

依存関係のないバイナリをコンパイルする標準的な方法はありますか?そうでない場合、一時フォルダーに書き込み権限しかない場合に正しい依存関係を認識するように SoX バイナリを設定するにはどうすればよいですか?

0 投票する
1 に答える
3188 参照

c++ - GDB は行番号を検出しませんが、objdump は検出します

DDD/GDB を使用して、「arm-eabi-gcc (devkitARM release 32) 4.5.1」でビルドされた NintendoDS で実行されている自作ゲームをデバッグしています。参考までに、誰かが以下の手順のいくつかを再現したい場合に備えて、ストリップされていない .elf バイナリ (ファイルはホストされていません) をアップロードしました。

  • GameScript.o (GobExpression::eval) にある関数の 1 つのリストを gdb に要求すると、問題なく処理されます。

  • 同じGameScript.oでSimpleGob::playのリストをgdbに要求すると、「SimpleGob::playの行番号が不明です」と不平を言います。(すぐ下の arm-eabi-gdb セッション:)

arm-eabi-gdb AppleAssault.elf

ただし、arm-eabi-objdump -drl AppleAssault.elf を呼び出すと、ダンプに記載されているように、明らかにいくつかの行番号が見つかります。

ファイルは でコンパイルされるarm-eabi-g++ -MMD -MP -MF /beetle/hobby/DS/dsgametools/branches/companim/libgeds/build/GameObject.d -g -march=armv5te -mtune=arm946e-s -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork {include path stripped} -DARM9 -fno-rtti -Wall -O2 -c /beetle/hobby/DS/dsgametools/branches/companim/libgeds/source/GameObject.cpp -o GameObject.oため、デバッグ シンボルが有効になり、.a アーカイブにパックされ、最後にプログラムにリンクされます。-O0 を指定して再コンパイルしても効果がないようです。

GDB で add-symbol-file の使用を提案する行番号が見つからないという回避策を見たことがありますが、どのシンボル ファイルを追加するかはよくわかりません ... GDB デバッグの微妙な重要な概念が欠けていますか? GDBが行番号で注釈を付けることができるように、私のプログラムのどの部分(の一部)が欠けているかを説明する記号はありますか?

0 投票する
2 に答える
57707 参照

ios - 'strcmp' はこのスコープで宣言されていません

このチュートリアルを使用して、ios ツールチェーンの構築に取り組んでいます。コマンド make ENABLE_OPTIMIZED=1 を実行すると、この出力が得られます。

これをどうすればいいのかわからず、グーグルはあまり役に立ちませんでした。

0 投票する
2 に答える
13245 参照

linker - libで始まらないGCCのライブラリファイルをリンクするにはどうすればよいですか?

libmなどのライブラリをldにリンクするときは、libプレフィックスを削除する必要があります。ファイルがこの命名規則に従わない場合はどうなりますか?ファイルの名前を変更する以外にリンクする方法はありますか?

0 投票する
2 に答える
730 参照

c++ - C++ コンパイラ - 共通シンボル

C++ コンパイラについて質問があります。

C++ コンパイラが共通シンボルを作成する正確なタイミングは? C コンパイラを使用すると、オブジェクト ファイルに共通のシンボルを提供できますが、C++ コンパイラ (GNU) を使用してまったく同じコードをコンパイルすると、定義済みシンボルと未定義シンボルしか得られません。

問題は、どのような状況で変数/関数が C++ で一般的にコンパイルされるのかということです。

0 投票する
2 に答える
694 参照

c++ - C++ コンパイラ - 生成されたシンボル タイプ

C++コンパイラがどのシンボルを定義または未定義にするかを正確に決定する方法を見つけるのに少し苦労しています。つまり、変数/関数が定義済みまたは未定義のシンボルにコンパイルされるかどうかを、C++ ソース コードでどのように知ることができるかということです。最初に、定義された変数/関数はすべて定義されたシンボルになると思っていましたが、そうではないようです。static、extern、inlineなどのキーワードも考慮して、これを正確に判断する方法はありますか?

*update 問題は、C++ での定義と宣言に関するものではなく、私のコードがコンパイルされるかどうかでもありません。現在、C++ ソースでのみ宣言されている一部の関数/変数は、コードをコンパイルして nm でオブジェクト ファイルを調べると、定義済みのシンボルになると思います。この情報が必要です: 定義済み/宣言済みの C++ 関数/変数は、オブジェクト ファイル (ELF など) に定義済み/未定義のシンボルにコンパイルする方法を教えてください。

0 投票する
0 に答える
193 参照

android - B2G のコンパイル中にビルド エラー (make gonk) が発生しました

私は、Nexus S の Boot2Gecko に取り組んでいます。Boot2Gecko の指示に基づいて、昨日コードのコンパイルを開始しまし。すべて問題ありませんが、ある段階でコンパイルされず、次のエラーが発生します。

http://pastebin.com/tPqqwdaF . ここでも同じエラーだと思いますhttps://github.com/andreasgal/B2G/issues/291

ビルド エラーを解決する方法を教えてください。どんな助けでも大歓迎です!