問題タブ [rust-cargo]
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.
rust - `貨物パッケージ`: エラー: メイン関数が見つかりません
cargo
Rustのパッケージ マネージャーを使用してライブラリをパッケージ化しようとしています。ドキュメントcargo package
に従って実行しようとすると、次の出力が得られます。
よくわかりません。(便利な外部関数を含む) ライブラリをパッケージ化しようとしているので、関数は必要ないと思いmain
ます。これが私のものCargo.toml
です:
これが私のディレクトリ構造です:
私は何が欠けていますか?
rust - Cargo は git 要件をどこに置きますか?
プロジェクトをコンパイルするとき、cargo は、git-repository として指定された Cargo.toml で指定された要件を自動的にダウンロードします。
例えば
結果として
コンパイル時。これらのリポジトリはディスク上のどこに保存されますか? Windows を使用していますが、変更はありますか?
undefined-reference - Rust Cargo でのビルド時の未定義参照エラー
Cargo でプロジェクトをビルドすると、次のエラー メッセージが表示されます。
これを防ぐためにおそらく-lz
フラグを追加できると読みましたが、Cargo でそれを行うにはどうすればよいですか?
rust - regex_macros を使用するバイナリを静的にリンクする
regex_macros
クレートを使用すると、Cargo を介して作成された Rust バイナリが動的にリンクされることに気付きました。の新しいバージョンに更新すると、作成されたバイナリが機能しなくなるため、これは少し問題ですregex_macros
。
それを回避する方法はありますか?
最小限の例を次に示します。
これをコンパイルして、リンクされているものを見ると、次のことがわかります。
ご覧のとおり、最初にリンクされた dylib には、プロジェクトが存在するディレクトリへの絶対パスがありcargo clean
、実行してもおそらく実行可能ファイルが壊れます。
shared-libraries - 貨物の dylib 命名からハッシュ拡張を削除する
貨物.toml
cargo build
dylibを実行するたびに次の名前が付けられます。
libfaceblaster-engine-f09635dc7c9bd155.so
.
.toml
最後に配置されているハッシュを削除するためにファイルに何かを追加する方法はありますか?
助けてくれてありがとう!
rust - Cargo にローカル依存関係のテストを実行させる方法は?
複数のクレートに分割されたプロジェクトに取り組んでいます。最上位のクレート (アプリ) には、依存関係として他の 2 つのクレート (ライブラリ) が必要です。最上位のクレートで実行cargo test
すると、依存関係がビルドされ、最上位のクレートのテストが実行されますが、他の 2 つのクレートのテストは実行されません。cargo test
3 つのクレートすべてでテストを実行するように構成する方法はありますか?
ありがとう!
openssl - 複数の依存関係によって同じネイティブ ライブラリにリンクされないようにするにはどうすればよいですか?
質問: 私の 2 つの依存関係が同じライブラリにリンクしているが、そのライブラリを 2 回リンクできないという状況をどのように回避 (または修正) できますか? これは通常、共有ライブラリで解決されるもののように思えますが、Rust でどのようにアプローチすればよいかわかりません。
詳細:
データベースにNickel フレームワークとrust-postgresを使用して、Rust で Web アプリを作成しています。ビルド時に次のエラーが発生します。
Cargo.lock を見ると、openssl は http (ニッケルの依存関係) とrust-postgres によって参照されています。
私の Cargo.toml は次のようになります。
完全な Cargo.lock は次のとおりです。