問題タブ [static-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 に答える
1366 参照

macos - ImageMagick/GraphicsMagickでlibpngstaticlibを使用します

imagemagickと、配布を容易にするためのlibpngなどのデリゲートライブラリを含む実行可能ファイルをコンパイルしたいと思います。imagemagickをアプリに簡単にコンパイルできますが、常に動的ライブラリを使用しているようです。

macportsを使用して動的デリゲートライブラリと静的デリゲートライブラリの両方をインストールしました。動的ではなく静的なものを使用するようにImageMagickに指示する方法はありますか?

現在、次の構成パラメーターを使用しています。

./configure --prefix = / opt / local --with-quantum-depth = 8 --disable-installed --disable-dependency-tracking --without-x --without-perl --enable-static --disable -shared --with-jpeg --with-tiff CPPFLAGS = "$ CPPFLAGS" LDFLAGS = "$ LDFLAGS" CFLAGS = "$ CFLAGS" --disable-openmp --disable-openmp-slow

ありがとう、ルイ

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

c++ - 実行可能ファイルから静的にリンクされたライブラリを抽出します

これが可能かどうかはわかりませんが、静的にリンクされた多くのライブラリを含む実行可能ファイル(foo.exe)が与えられています。

このファイルから実行可能ファイル内にある.lib(または.a)を抽出するソフトウェアはありますか?

ありがとう。

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

qt - QtCreator の静的ライブラリに対して GUI アプリをリンクする

MinGW を使用してソースからライブラリを構築し、それを GUI アプリケーションのプロジェクトで参照する正しい方法は何ですか? 私は gcc と makefile に詳しくありませんが、既存のソースから makefile を生成するユーティリティが必要だと思います。

ライブラリ自体は、標準の C ライブラリ以外には依存していません。

ありがとう!

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

iphone - iPhone用の地理空間ライブラリ

興味のあるポイント(POI)のリストがパッケージ化されて来ることで、オフラインで動作できる位置認識iPhoneアプリを作成することを考えています。アプリは、ユーザーの現在地を読み取り、ユーザーの現在地CoreLocationに近い順にPOIのリストを生成します。

このアプリケーションを軌道に乗せるには、2つの基本的な地理空間関数が必要です。1つ目は、ポイント(ユーザーの現在の場所)が特定の地理空間境界内にあるかどうかをテストする関数です。2つ目は、2つの緯度/経度のポイント間の距離を指定できる関数です。2番目の関数を使用して、POIのリストをユーザーの現在の場所の近くで並べ替えます。

この問題領域はよく理解されており、オープンソースのオプションがあることを理解しています。(私が知っている)主要な候補は、GEOSC ++ライブラリです。私がこれを使用すると想像する方法は、GEOSを静的ライブラリとしてコンパイルすることです(そして、three20ライブラリを含めるために行うように、プロジェクトの依存関係としてリンクします)。

私の質問は:

  1. 必要な2つの関数をアプリケーションに組み込むための最良の方法は何ですか。

  2. 質問1の最良の答えが、静的ライブラリとしてGEOSをコンパイルし、それを私のプロジェクトにリンクすることである場合、以前にこれを行ったことがある人は、いくつかのポインタを提供できますか?私はコンパイルや静的ライブラリの構築などの初心者です。GEOSをコンパイルしてプロジェクトに含める方法について、いくつかのサンプルコードまたはチュートリアルを簡単な使用例で見てみたいと思います。

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

iphone - デバイスとシミュレーターのビルドが異なるのはなぜですか?

2 つの静的ライブラリを参照しています。それらをデバッグ シミュレータ モードでビルドすると、すべてがアプリでうまく動作します。次に、debug-iphone ビルドを作成し、アプリをデバイスにプッシュします。このエラーで壊れます:

キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '*** -[NSCFString sizeWithCGFont:pointSize:constrainedToSize:]: 認識されないセレクターがインスタンス 0x24320 に送信されました'

その後、SIGABRT エラーが表示されます。

なぜこれがシミュレーターでうまく動作し、デバイスでしかマニフェストしないのでしょうか?

- 編集 -

最後に、少なくともデバイスで実行するための回避策を見つけましたが、現在はシミュレーターでは実行していません。例外をスローしているメソッドは、フォントに使用しているクラスです。これは、たとえば、問題が発生していたライブラリである staticLibA の一部です。ターゲット アプリと問題クラスの .m ファイルに参照として staticLibA を含めました。NSString のカテゴリであるヘッダー ファイルへの参照は既にありました。.m ファイルを含めるまで機能しなかったのはそのためですか?

シミュレーターで実行しようとすると、上記のクラスのビルド出力フォルダーで重複オブジェクト エラーが発生します。

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

c++ - 静的ライブラリのグローバルの静的初期化と破棄が g++ で発生しない

少し前まで、私は .a スタティック ライブラリは .o オブジェクト ファイルの単なるコレクションであり、それらをアーカイブするだけで、別の方法で処理することはないと考えていました。しかし、.o オブジェクトとのリンクと、この .o オブジェクトを含む .a スタティック ライブラリとのリンクは明らかに同じではありません。そして、私はその理由を理解していません...

次のソース コード ファイルについて考えてみましょう。



このコードをコンパイルしてリンクし、実行しましょう。

グローバル gObject オブジェクトのコンストラクタおよびデストラクタが呼び出されます。

コードから静的ライブラリを作成し、それを別のプログラムで使用 (リンク) しましょう。

  • gObject のコンストラクタとデストラクタが呼び出されない...なぜ?
  • それらを自動的に呼び出す方法は?

ありがとう。

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

iphone - ファイルを入力として使用、iPhone アプリ

cにiPhoneライブラリがあります(MACのcソースから作成されます)。ファイルパスを使ってファイルを読み込む方法があります。ここで、Objective-C のファイル パスをそのメソッドに入力します。私の質問は次のとおりです。

  • することは可能ですか?つまり、Cライブラリを使用してiPhoneでファイルを読み取るということです。

もし可能ならば、

  • ファイルを配置するプロジェクト内の場所はどこですか? (資力 ?)
  • また、メソッドに入力するパスを取得するにはどうすればよいですか? (NSBundle?)

ありがとう

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

visual-c++ - 静的ライブラリの依存関係

C++ の静的リンケージに関する基本的な説明が必要です。data_client.lib というファイルがあります。ライブラリ ファイル a.exe、b.exe、および c.exe には、3 つの独立したコンシューマーがあります。data_client.lib がインターフェイスである data_server.exe というサービスがあります。実際には、data_server.exe に別の関数を追加し、対応するインターフェイスを data_client.lib に追加しました。a.exe だけが追加の機能を必要とするため、a.exe のみをビルドします。data_server.exe、data_client.exe、a.exe をパッチとして出荷しました。これで、b.exe と c.exe がランダムに/一貫性なくスローしてクラッシュする

mfc42u!CException::`RTTI 完全オブジェクト ロケータ'+0x10

それは理にかなっていますか?b.exe と c.exe もビルドすると、クラッシュは発生しません。これが機能する方法ですか?

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

c++ - 静的ライブラリを追加できません

DLLをビルドしようとしていますが、opensslパッケージのライブラリlibeay32.dllを参照する必要があります。[プロパティページ]->[共通プロパティ]->[新しい参照の追加]で参照として追加できないようです。どちらでもないため、「ファイル'C:\ OpenSSL\libeay32.dll'への参照を追加できませんでした」というエラーが表示されるためです。 NETアセンブリまたは登録済みのActiveXコントロール。[リンカー]->[入力]->[追加の依存関係]を使用して静的ライブラリ'C:\ OpenSSL \ lib \ libeay32.lib'を設定すると、コンパイルして実行できます。ただし、最終結果はIです。 libeay32.dllも含める必要があります。何が間違っているのですか?

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

visual-studio - MFC スタティック ライブラリの作成と使用

MFC スタティック ライブラリ (.lib) を作成し、MFC 以外の C++ アプリケーションにリンクすることはできますか? もしそうなら、MFCスタティックライブラリを作成する方法を知っている人はいますか? Visual Studio にはそのようなテンプレートはないようです。