問題タブ [import-libraries]

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 に答える
5400 参照

boost - Boost.Buildが呼び出すg++コマンドラインを確認する方法(1.33.1)

自分のマシンでBoostライブラリをビルドしたときに、インポートライブラリが生成されない理由を理解しようと頭を悩ませています。より具体的には、DLLの構築は正常に機能しますが、以前(つまり、マシンを再インストールする前)にインポートライブラリを正しく生成していました。

いくつかの仕様:

  • ブースト1.33.1
  • Windows用のg++4.3.3TDM-1リリース
  • gccMSDosコマンドラインプロンプトからのツールセットを使用したビルド
  • UnxUtils(14-04-03以降)

bjam.exeを呼び出すコマンドラインは次のようになります。

これは以前は素晴らしく機能し、目的のファイルを作成していましboost_thread.libたが、現在はそうではありません。私は本当に何が起こっているのかわかりません。リンカがコマンドラインで何を受け取るのか、そしてリンカがそれで何をすべきだと考えているのかを正確に知りたいのです。

ありがとう、

カール

0 投票する
3 に答える
249 参照

visual-c++ - DLL の存在を確認してから使用する

Visual C++ 2008 Express Edition を使用。.libアプリケーションを、ターゲット システムに存在する場合と存在しない場合がある DLLのインポート ライブラリ ( ) にリンクしています。質問する前に: アプリケーションと一緒に DLL を配布できません。

DLL が存在しない場合、DLL から関数を呼び出すとすぐに (ただしすぐには!)、次のようなメッセージが表示されます。

SomeLibrary.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションを再インストールすると、この問題が解決する場合があります。

代わりに、アプリケーションが DLL が存在しないことを検出し、DLL に依存する機能を単に無効にすることを望んでいます。を呼び出してLoadLibrary、成功したかどうかを確認できましたが、これで十分かどうかはわかりません。たぶん、インポート ライブラリは舞台裏でより多くの作業を行っているのでしょうか?

簡単なLoadLibrary電話で十分ですか?そうでない場合、他に何をする必要がありますか? これもできますか?

更新: もちろんLoadLibrary、を使用して、GetProcAddress使用したい機能ごとに使用できます。しかし、それは面倒です。私はそれを避けて、代わりに提供されたインポート ライブラリを使用することを望んでいました。

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

visual-c++ - インポート ライブラリの生成を無効にするにはどうすればよいですか?

Visual Studio で COM DLL を作成しています。リンカーは、DLL のインポート ライブラリを生成します。インポート ライブラリは必要ありません。

リンカーにそれを生成しないように指示する方法はありますか?

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

visual-studio - 一部の dll 静的リンク スタブ ライブラリ (インポート ライブラリ) が非常に大きいのはなぜですか?

pcl (ポイント クラウド ライブラリ) にリンクしているときに、一部の dll スタブ ライブラリが 10 MB を超え、dll 自体がそのサイズの半分未満であることに気付きました (これらはリリース ビルドです!)。dll 情報にアクセスできるように、スタブ ライブラリには最小限の情報のみを含めるべきではありませんか? 彼らが参照するdllファイルよりも大きくなる可能性はありますか?

私にとって関連性があるのは、大きなスタブ ライブラリにリンクすることで、私自身の実行可能ファイルのサイズも大幅に大きくなっているということです。dllを使用して防止したかったこと。

VS に、DLL リンカの動作を変更して、スタブ ライブラリに多かれ少なかれものを入れる設定はありますか?

0 投票する
4 に答える
2648 参照

c++ - インポートライブラリの作成を抑制します-VisualC++リンカー

ソースコード内に(dllexport)ディレクティブがあるIMPLIBにもかかわらず、リンカーがDLLまたはEXE用に作成するのを防ぐためのおそらく文書化されていない方法はありますか?__declspec

/IMPLIB結果を指定しない.LIBと、デフォルトの名前で作成されます。

これは、declspecディレクティブが制御されていないサードパーティのコードから到着する場合に重要です。これは、たとえば、の場合boost::serializationです。考えられる解決策は、DLLエクスポートを「宣言解除」する方法です。DEFファイルもエクスポートリストに追加することはできますが、削除することはできないため、これを行うことはできません(AFAIK)。

0 投票する
4 に答える
27532 参照

java - Android インポート ライブラリ

私のプロジェクトでは、外部ライブラリを使用する必要があります。そのライブラリは.classファイルで構成されています。properties -> Java Build Path -> Libraries -> Add class folderを使用して、このライブラリを含むフォルダーをプロジェクトに追加しました。プロジェクトを問題なくコンパイルできますが、実行すると、failed resolving xyインポートされたファイルからクラスのインスタンスを作成する行でデバッガーが停止します。

私が使用している外部ライブラリが私の .apk ファイルにリンクされていないと思います。どうすればこれを修正できますか? 「注文とエクスポート」タブでこのライブラリを確認しようとしましたが、アプリケーションでライブラリがエクスポートされると想定しています。しかし、うまくいきませんでした。

このライブラリをプロジェクトの .apk にリンクするにはどうすればよいですか? 最初にこのライブラリをデバイスにインストールする必要がありますか? このライブラリをアプリケーション フォルダにコピーする必要がありますか?

PS: Eclipse Juno、Android SDK ターゲット 10 を使用しています。

ありがとうございました


アップデート

libsこのライブラリをフォルダーにコピーしました。外部ライブラリ パスは次のとおりです。

プロジェクトのライブラリ設定に./libsフォルダーを追加しました。このライブラリのバージョンはなくファイルのみです。.jar.class

このライブラリのソースコードもありますが、そのクラスをプロジェクトに含めたくありませんでした。独自の依存関係があり、ライブラリのように「リンク」したかっただけです。私が書いていない外部ライブラリです。


更新 2

すべてのソース ファイルをライブラリからプロジェクトの "src/" ディレクトリにコピーしました。ライブラリを Java ビルド パスから削除しました。プロジェクトをコンパイルすることはできますが、実行すると

このエラーをデバッグするにはどうすればよいですか? :(

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

android - Androidで外部ライブラリをインポートするには?

ライブラリを Android アプリに統合しようとしています。SlideMenuライブラリです

私の問題は、初心者がこれを行うのに役立つ簡単な手順が見つからないことです。

見栄えの良いチュートリアルがありますが、ライブラリを実際にインストールする方法、つまり段階的なプロセスについての詳細はありません。進め方が本当にわからない。

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

visual-c++ - 一部の dll のライブラリをインポートするために /INCREMENTAL:NO でリンクするとインポート テーブルが空になる

/INCREMENTAL:NOビジュアル c のリリース構成のデフォルトです。

http://ffmpeg.zeranoe.com/builds/FFmpeg git-3efe5e3 32-bit Devからダウンロードしました。ファイルが含まれています。を選びました。コンパイル後、ffmpeg dll のインポート テーブルが空になり、プログラムがクラッシュします。を有効にすると、コンパイルして正常に実行されます。.dll.a.lib.lib/INCREMENTAL

test.c:

_