問題タブ [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.
postgresql - GNATCOLL SQL と POSTGRES のインストール - Centos7 Linux、configure/make を使用せずに
これまでのところ、GNAT GPS Community をダウンロードし、これを Linux Centos 7 マシンにインストールしました。
私の目標は、次の 2 つのオンライン例を完成させることです。
1: http://bisaga.com/blog/programming/ada-database-first-steps/ 2: https://docs.adacore.com/gnatcoll-docs/sql.html
これを行うには、ここから sql および postgres ライブラリをインストールする必要があります: https://github.com/AdaCore/gnatcoll-db
postgres ライブラリが sql ライブラリに依存していることはわかっているので、最初に sql ライブラリをインストールしようとしています! 以前の質問を見ればわかるように、これらのライブラリをさまざまな方法でインストールしようとしました...
私は現在、GNAT GPS からこれらのライブラリを構築しようとしています。私のプロジェクトがどのように見えるかについては、以下のスクリーンショットを参照してください。変更したフィールドの横に白い点が含まれています!
使用している GNAT GPS のバージョン、ライブラリ ディレクトリを手動で入力し、そのバージョンに common を追加しました。
これをビルドしようとすると、次のエラーが表示されます...
この方法でライブラリをインストールできるかどうかはわかりません。これが可能かどうかについてのアドバイスをいただければ幸いです。
このライブラリのインストールは非常に複雑すぎると思います。オンラインで入手できる段階的なインストール プロセスを知っている人がいたら、教えてください。
また、gprbuild を使用してこれをビルドしようとしましたが、次のエラーが表示されます。
Linux Centos 7 を使用しており、GNAT GPS は次の場所にインストールされています。
/home/parallels/opt/GNAT/2019/bin/gps
16/04/20 追加
現在、make を実行してから make install するとエラーが発生します (これが回避策を探していた理由です)。
20/04/17 09:00 追記
20/04/17 10:30 追記
20/04/17 11:15 追記
参照用に私の gnatcoll_postgres.gpr ビルドを次に示します。
linux - GNAT CE 2019 内で PostgreSQL をクエリするにはどうすればよいですか
GNAT CE 2019 を使用して PostgreSQL データベースにクエリを実行しようとしています。データベースに car と person の 2 つのテーブルがあります。
ターミナルで psql を使用してこれを実行すると、次のような単純な Select ステートメントを実行したいと思います。
ただし、GNAT CE 2019 内からこれを実行したいと思います。現在の main.adb ファイルは次のようになっています。
データベースに接続しようとすると、プロセスは正常に終了します。
Select ステートメントに使用する必要がある構文がわかりません。SELECT * FROM Person;
誰かがGNAT CE 2019 内から簡単なステートメントを実行する方法を教えていただければ幸いです。
ありがとう、ロイド
2020/05/13追記
15/05/20 追加
17/05/20 追加
2020/05/29 追記
windows - プラグマ エクスポート関数は、Ada 実行可能ファイルの外部ではありません
Ada メインラインで関数を呼び出すには、Visual Studio C++ DLL が必要です。Adaコードには次のような関数仕様があります
次に、C++ 関数は次のように Ada メソッドを呼び出します。
これでうまくいくと思います。私が抱えている問題は、Ada が実行可能ファイルで関数 GET_OFFSET を外部としてマークすることを拒否することです。つまり、dumpbin /exports ada.exe を実行すると、エクスポートされた関数が表示されません。
--version-script for the linkerなどのさまざまなソリューションを読みましたが、私のリンカーは古すぎてこのスイッチについて知ることができません。
もう 1 つの有望なオプションは、リンク ステップに -shared を追加することでしたが、これにより関数が公開されますが、出力ファイルも DLL (拡張子が .EXE (!)) に変更されるため、これも役に立ちません。
ツールチェーンをアップグレードする前に、試すことができる別のリンカー スイッチ、またはその他の提案はありますか?