問題タブ [gnat-gps]
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.
ada - GPS (ブヨ) がソース ファイルのタグを表示しない
質問1
最初の画像では、GNAT Programming Studio がファイルのタグ (パッケージ、プラグマ、サブプログラムなど) を表示していることがわかります。wasabee-caches.adb
.
ただし、2 番目の画像では、GPS でディレクトリ(青でハイライト表示されている現在のディレクトリ) を展開できません。
質問2
2 番目のプロジェクトである Wasabee_GWindows で、gnatpp
ソース ファイルを (メニューバー: 編集/プリティ プリント) しようとすると、GPS からgnat: aggregate library projects are not supportedというメッセージが表示されました。(AWS は集合体で、Wasabee_GWindows の gpr ファイルにwith "aws"
はaggregate library project Wasabee_GWindows
.
c - ADA lib.a を作成して C にリンクする方法
私は ada ライブラリを作成しようとしていますが、いくつかの異なることを試しました。makefile を使用してプロジェクトをコンパイルし、すべての .o ファイルからライブラリを作成しようとしましたが、期待どおりに動作しないようです。次に、adacore サポートに問い合わせたところ、ada プロジェクトと c プロジェクトの両方に .gpr ファイルを使用し、ライブラリを作成する必要がある ada.gpr を使用する方向を示してくれました。これはほとんど機能しましたが、ada をコンパイルしようとすると、未定義の参照が発生します。
私が試したこと: コマンドライン:
libにあるものを読み込もうとすると
このエラー ld: warning: cannot find entry symbol _start; が表示されます。開始アドレスを設定しない
プロジェクト ファイル: 私の ada プロジェクト ファイル prj.gpr
私のCプロジェクトファイル c_main.gpr
コマンド gprbuild c_main.gpr を実行すると
2 つの異なるエラーが発生しました。最初は、ADA コードの一部であるいくつかのパッケージへの未定義の参照であり、存在を知らなかった gnat .adb ファイルで発生しました。壊れたライブラリだと思います。2 つ目は、コードが正常にコンパイルされて実行されても、特定のパッケージのフィールドが見つからない/存在しないことです。フィールドがADAコードに存在しないというエラーが表示されます。
TLDR: 3 つの異なるディレクトリに ada プロジェクトがあり、それらからライブラリを作成したいと考えています。次に、C テスト プログラムにリンクします。最終的には、ライブラリ ファイルを配信するだけです。コマンドラインが最適です。プロジェクトファイルを扱いたくありません。
ada - GLFW関数をAdaにインポート
GLFW機能をAdaにインポートするには?
GNAT GPS をコンパイラとして使用し、次のフォルダー構造を持ちます。
- test.adb
- test.gpr
- 置き場
- オブジェクト
- libglfw3.a
- ライブラリ
- libglfw3.a
test.gpr
test.adb
gprbuild -P test.gpr
および出力を使用してコンパイルします。
したがって、 gdi32、winmm、opengl32が見つかったのは、それらが既に PC にインストールされているためだと考えていました。それらが必要かどうかはわかりませんが、安全のために。glfw3 lib が見つからないため、Linker_Option を正しい方法で使用しているかどうか、または libglfw3.a ファイルをどこに配置するかがわかりません。c ライブラリにリンクする良い方法はありますか?
parsing - Ada エラー: SYSTEM.ASSERTIONS.ASSERT_FAILURE が発生しました: lexical_analyzers.ads:20 からの前提条件に失敗しました
プログラミングの概念で私がやっていることのいくつかは、私の父の頭を超えています。なぜなら、次世代は前の世代よりも賢くなることが期待されているからです。いずれにせよ、私は 12 月 2 日までに終わらせなければならないプロジェクトに取り組んでいます。かなり複雑です。これは、Eiffel として知られる基本言語のパーサーおよび語彙アナライザーであるはずです。これまでのところ、教授の Web サイトとサンプル ファイルの助けを借りて、すべてのコンパイル エラーを修正しました (Ada に関する本で、パーサーや字句解析器の作成方法が説明されていることはないと思います)。exe をビルドして実行したところ、次のようなエラーが表示されることがわかりました。
この zip ファイル内の lexical_analyzers.ads のコードで指定されています。
https://drive.google.com/file/d/0B3ZPyNRv7C3heEN1cnU3dVFOZmM/view?usp=sharing
20 行目、おそらくその上の 17 行目でエラーが発生しています。これは、parser.adb ファイルの書き方に関係している可能性があります。この言語は、本体ファイルを作成する前に仕様ファイルを作成する必要があるという点で C 言語と非常によく似ており、コーディング中に行ったり来たりすることがあります。parser.adb ファイルに書いたすべてのメソッドを parser.ads ファイルにも指定する必要がありますか? 私はそう思います、それが言語の仕組みです。なぜこのエラーが発生するのかについて、他に何か考えはありますか?
ada - GNAT GPS はビルドするターゲットを特定できませんでした
ビルドして実行するカスタム プロジェクト ファイルに苦労していますが、この一連の警告 (またはエラー、よくわかりません) が表示されます。Clean Allの後、 [Build] -> [Project] -> [Build All ] をクリックすると、[ Build All ] ダイアログ ボックスが表示されます。
これらは、[実行] をクリックしてビルドを開始する前に、[メッセージ] ウィンドウに (赤いテキストで) 表示されます。[実行] をクリックすると、ビルドが正常に完了し、プログラムが実行されます。
[Build All] ダイアログのオプション ダイアログには次のようなものがあります。
%builder %eL -P%PP %X -k -s -d
これは何を意味し、なぜこれを行うのですか?
それが役立つ場合、プロジェクトファイルは次のとおりです。
ada - Ada 2012 と GNAT GPS IDE デバッガーがソース ファイルを見つけられない
Windows 7/64 で GPS IDE を使用して、Ada 2012 で単純な hello world 単一の .adb ファイル プログラムを使用しています。すべてのオブジェクト ファイルとソース ファイルをまとめておけば、すべてが機能します。プロジェクト プロパティの [スイッチ] タブに移動し、[Ada] タブを選択して、[デバッグ情報] チェックボックスを有効にする必要がありました。
ここで、プロジェクトをもう少し整理して、オブジェクト ファイルを独自のディレクトリに配置したいと考えています。プロジェクト プロパティの[オブジェクト] タブを使用して、設定を から.
に変更しましたojb
。ビルドして実行できます。デバッグに行って hello.adb の行をクリックすると、「hello.adb という名前のソース ファイルがありません。obj ディレクトリを探していると思います。set directory
コマンドを発行して、絶対パスを指定しました。親フォルダー. 後続のshow directories
コマンドは、私のフォルダーが含まれていることを示していますhello.adb
ファイルは現在パスにありますが、まだ喜びはありません。ブレークポイントを設定できなくなりました。これはそれほど珍しい操作ではないように思えますが、デバッガーのソース パスを指定する別の高レベルの方法があるのではないかと思います。誰でもそれが何であるか、またはこれを機能させるためのヒントを知っていますか?
python - GNAT GPS プラグイン: Locations で選択した行を取得
GNAT GPS IDE へのpython プラグインを実行しています。
Locations ウィンドウを使用してユーザーにメッセージを表示するため、エラーと同様にファイル行を強調表示します。私はGPS.Locations.parse()
そのような情報を追加するために使用します.(ややあいまいな)ドキュメントはこちらです.
その後、ユーザーはコードまたは [場所] ウィンドウから行を選択して、アクションを実行できます。
開いたファイルから行を取得するのは簡単です。しかし、まだわからないことが 1 つあります。それは、ユーザーが [場所] ウィンドウからどの行を選択しているかを知る方法です。GPS.MDI.get("Locations")
私は子供のウィンドウオブジェクトの迷路に私を導くことを試みました。迷子になりました。
では、Locations で現在選択されている行からテキストを取得するにはどうすればよいでしょうか?
編集
どうやら私が欲しいものを与えるMessageContextがありますが、ウィンドウにフォーカスがある場合でも、そのようなクラスがないというエラーメッセージが表示されます。したがって、クラスがインスタンス化されていないことがわかりました。
ada - Gnat-GPS の Build>Run コマンドでビルドされた実行可能ファイルにコマンド ライン引数を渡すにはどうすればよいですか?
GPS チュートリアルの状態のステップ 9
実際には、これを行うとエラーが発生します。
gprbuild: "c:\gnat\2015\share\examples\gps\tutorial\obj\sdc" is not a source of any project.
ビルドされた実行可能ファイルのコマンドライン引数を渡す構文は何ですか?
マクロとパラメーターのさまざまな組み合わせを gprbuild で試しました。指示に従うことによるデフォルトは です%builder -d %eL -P%PP %X %T %E input.txt
。%E が参照するディレクトリに「input.txt」が存在することを確認しました。sdc input.txt
コマンドラインで実行でき、問題なく動作します。