問題タブ [asdf]
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.
common-lisp - Emacs/Slime/SBCL に quicklisp パッケージを認識させる方法
Emacs、SLIME、quicklisp を適切に連携させようとしています。次の環境をセットアップしています。
- インストール済みの Emacs
- SLIMEをEmacsにインストール
- インストール済みSBCL
- インストールされたquicklisp
(quicklisp-quickstart:install)
SBCLで実行(ql:add-to-init-file)
SBCLで実行(ql:quickload "quicklisp-slime-helper")
SBCLで実行(ql:quickload "cl-csv")
SBCL で使用するインストール済みパッケージ cl-csv(setq inferior-lisp-program "sbcl")
.emacs に追加(load (expand-file-name "~/quicklisp/slime-helper.el"))
.emacs に追加- すべてを再起動しました
パッケージをロードして使用するためにtest.lisp
で始まるファイルがあります。(ql:quickload "cl-csv")
ファイルを Emacs にロードして SLIME を実行し、それを使用してコンパイルしようとするとslime-compile-and-load-file
、SBCL でPackage CL-CSV does not exist
.
これらの部品を適切に連携させるために何が欠けていましたか?
windows - 埋め込み可能な Common-Lisp asdf:defsystem が無効な相対パス名を返す
Common-Lisp の asdf の使用方法を学習しようとしていますが、次のコードがあります。
ただし、エラーが発生し続けます。
これら 2 つの Lisp ファイルと同じディレクトリで repl を起動していますが、エラーが発生する理由がわかりません。私は何が欠けていますか?WindowsでECLを使用しています
windows - Windows で asdf:make-build が失敗する
次のファイルがあります
例.asd:
first.lisp:
second.lisp:
システムを正常にロードできますが、実行(asdf:make-build :example :type :program :move-here ".")
すると次のエラーが発生します。
LINK : fatal error LNK1149: output filename matches input filename 'C:\path\to\example.lib'
正しく構成していないものはありますか? example.lib を作成してから、example.exe を example.lib にリンクしているようですが、cl はそれらが同じ名前になるのを好みません。結果の実行可能ファイルの名前を指定する方法はありますか? それとも、これは ECL の asdf:make-build の単なるバグですか?
Visual Studio 2015 の開発者ツールを使用して、Windows 10 で ECL を使用しています。
build - ASDF パッケージ管理と Common Lisp の概要
ASDF
Common Lispを使い始めるのに苦労しています。
最小限の例を機能させるにはどうすればよいですか?
build - システムシンボルの複製 ASDF Common Lisp
ASDF を使用して Common Lisp システムを構築していて、ASDF パスに複数のプロジェクトがある場合、システム名の命名衝突を回避するにはどうすればよいですか?
たとえば、project-a
とproject-b
両方がシステムutilities
を使用しているが、異なる を使用している場合utilities
、ASDF が正しいutilites
システムを見つけていることを確認するにはどうすればよいですか?
ユーティリティをシステムではなくディレクトリにして、個々のファイルを参照できることはわかっていますが、ASDF を使用する方が望ましいので、パスの指定について心配する必要はありません。また、衝突を回避する C スタイルの方法を回避しようとしていproject-a-utilities
ます。
私が知らない典型的なコンベンションはありますか?
architecture - ASDF で作成したシステムを使用するには?
System-A と System-B は、ASDF を使用して作成されたシステムです。どちらもファイルにシステム定義があり.asd
、パッケージを定義しています。:system-a
:system-b
パッケージ定義でSystem-A から:use
System-B のパッケージが必要です。System-B のパッケージを参照せずに、System-A で System-B のシンボルを使用できるようにするために、これが必要です。symbol
具体的には、ではなく使いたいですsystem-b:symbol
。
現在、System-A のパッケージ定義では、 を試みてい:use :system-b
ます。これは、QuickLisp を使用してインポートしたインターン ライブラリには機能しますが、自分のシステムには機能しません。
:use :system-b
System-A のパッケージでシンボルをインターンするにはどうすればよいですか?
common-lisp - システムがロードされるたびに ASDF が動的外部ライブラリをロードするようにするにはどうすればよいですか?
依存する動的外部ライブラリがcffiを使用して自動的にロードされるように、.asdファイルのオプションまたはその他の方法でプロジェクトをセットアップする慣用的な方法を探しています。
これが私が試していることです: armadillo.lisp というファイルに
私が最初にスライムを起動するとき、私は入力します
これはエラーをスローします:
次に、上記と同じ cffi コード フラグメントを切り取り、スライム REPL に貼り付けると、次のようになります。
編集:ダークのコメントに答える。現在、specials.lisp と io.lisp は両方とも空のファイルであり、defpackage とプロジェクト全体のバージョン番号の 1 つのフォームを保存しています。
armadillo.lisp も障害点に含めます
ssl - open ssl をインストールした後でも、Quicklisp を使用して CL+SSL をインストールすると、「どの選択肢もロードできません」
頭を壁にぶつけて 3 日間過ごした後、スタック オーバーフローに関する最初の質問をしています。運が良ければ削除されることはありません。
Humbler を quicklisp 経由でインストールしようとしたときに、CL+SSL (いくつかの依存関係の 1 つ) が「代替のいずれかをロードできません: (libss132.dll "ssleay32.dll")
私はすぐに、OpenSSL dll をインストールする必要があることを知りました。また、自分の dll の方向に CFFI を向ける必要があるかもしれないこと、および 64 ビット バージョンを確実に取得する必要があることも学びました。しかし、そのエラーは持続しています。
Win 7 64でClisp 2.47を使用する
私がすでに試したこと:
- オープン ssl dll のインストール
- VS 2008 Redist のインストール
- それらのdllをsystem32に入れる
- それらをClisp .exeと同じフォルダーに入れる
- OpenSSLで作成したインストールフォルダに入れる
- 「代わりに別のライブラリを使用」再起動を使用して、個々の dll の正確な場所を指す
さまざまな場所を CFFI: Foreign-Library-Directoriesリストにプッシュする
Break 1 CL+SSL[3]> :R2 新しい値を入力してください (未評価): ("C:\OpenSSL-Win64\libssl32.dll") *** - 外部ライブラリをロードできません (LIBSSL32.DLL-8079)。FFI:OPEN-FOREIGN-LIBRARY: ライブラリ "C:\OpenSSL-Win64\libssl32.dll" を開けません
すべての異なる OpenSSL ビルドをアンインストールしてからインストールする
- 管理者として Clisp を実行する Quicklisp を削除する
- CL+SSL のキャッシュ SBCL と Lispworks で上記のすべての手順を実行する
- オフにしてから再度オンにする
以前にスタック オーバーフローについて質問したことはありません。繰り返しになりますが、依存関係をロードするために 3 日も費やしたことはありません。脳卒中になる前に助けてください。