問題タブ [static-linking]

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 投票する
2 に答える
89 参照

visual-studio - コンパイル時にマネージ (.net) dll に参加 (リンク?) する方法はありますか?

2 つの .net 実行可能ファイルと、2 つの実行可能ファイルが共有する共通コンポーネントを含むクラス ライブラリで構成されるプロジェクトを構築しています。配布を容易にするために、dll を配布せずに 2 つの実行可能ファイルを配布できるようにしたいと考えていました (グラブ & ラン配布)。

クラスを各プロジェクトに手動でコピーせずに (したがって、コードを複数の場所に複製することなく)、Visual Studio で dll の内容を各実行可能ファイルにコンパイルする方法はありますか?

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

dll - DLL を必要としないようにプログラムをビルドする方法

DLL を必要としないように (Haskell) プログラムをコンパイルするにはどうすればよいですか?

GLUT を使用し、glut32.dll を必要とするプログラムを作成しました。でコンパイルしましたghc --make program.hs。今、私は自分のプログラムを配布したいと思っていますが、DLL を必要としないようにしたいです (そのため、ユーザーに .exe を渡すだけで済みます)。でコンパイルしようとしましたghc -static --make program.hsが、うまくいきませんでした。「ユーザー エラー (不明な GLUT エントリ glutInit)」が引き続き発生します。

これどうやってするの?

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

filesystems - カーネルレベルでのmakeファイルの静的リンク

vfs_read、writeなどのカーネルレベルの関数を使用するカーネルモジュールを作成しました。このモジュールには、このモジュールをビルドして.koファイルを取得するmakefileがあります。この.koファイルのobjdump出力を分析したいと思います。ただし、vfs_readやwriteなどのカーネル関数が.koファイルで解決されていないことを確認しました。それらは呼び出されたばかりで、実行時に解決されると思います。分析の目的で、makefileにいくつかの変更を加え、これらすべての関数を単一の.koファイルに静的にリンクすることは可能ですか?コンパイル中にstaticを追加しようとしましたが、役に立ちませんでした。とにかくそうすることを誰かが提案できますか?

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

boost - Windows でのリンクの問題 (ブースト)

ブーストとmongodbをコンパイルしようとしています。

64 ビット バージョン、共有ライブラリ、およびランタイムへの動的リンクが必要です。

Boost はlink=shared, runtime-link=shared, threading=multi(およびその他の) でコンパイルされます。lib および dll ファイルの名前は次のとおりです。boost_*-vc90-mt-1_41.dll

現在、mongodb にはデフォルト セットごとに /MT (マルチスレッド静的) があります。リンカには、boost ライブラリが必要でした(追加のと にlibboost_*-vc90-mt-s-1_41.dll注意してください)。そのため、オプションを(マルチスレッドdll)に変更し、消えましたが残りました。で試してみましたが変わりません。リンカーはまだ静的ライブラリを探しますか?lib-s/MD-slib/DBOOST_THREAD_USE_DLL /DBOOST_ALL_DYN_LINK

助けてください :)

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

shared-libraries - 共有オブジェクト ライブラリを静的にリンクできますか?

プロジェクトに動的にリンクする必要があるライブラリを構築しています。出力は .so ファイルなので、正しい軌道に乗っていると思います。コンパイル時にリンクされる方法が気になります。makefile の場所を指定し、これまでに見たことのない一連のマクロに依存しています。

実際に動的にリンクしている.soライブラリ(.aではなく)を構築していると思いますか?または、.so ライブラリを静的にリンクすることは可能ですか? その場合、何が起こっているのかをよりよく理解するために、make/config ファイルをバラバラにする必要がありますか?

ありがとう、

アンドリュー

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

ios - 複数の静的ライブラリを相互参照する iOS アプリとのリンク エラー

コードを再利用するために、Xcode iPhone プロジェクトを複数の小さなプロジェクトに分割しています。構造は次のようになります。

すべてが正しくコンパイルされますが、アプリがリンクされるとすぐに、リンカーは KAL (オープン ソースのカレンダー ライブラリ) ライブラリの 2 つのシンボルを見つけることができません。各ライブラリには相互参照があり、すべてのアーカイブは「バイナリをライブラリにリンク」ビルド フェーズに追加されます。

エラーは次のとおりです。

未定義のシンボル:
"_OBJC_CLASS_$_KalViewController"、参照元:
libA.a(AViewController.o) の objc-class-ref-to-KalViewController
"_OBJC_CLASS_$_KalDate"、参照元: libA
の objc-class-ref-to-KalDate .a(AViewController.o)
ld: シンボルが見つかりません
collect2: ld は 1 つの終了ステータスを返しました

私はLibAのAViewControllerでLibZのクラスを使用しています.LibKALのクラスを使用しています。

PS: A と B の分離は、アプリのすべてのビルドが 2 つによって提供される機能を必要とするわけではないという単純な理由によるものです。

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

c - C でモジュールを作成する方法

モジュールを静的にリンクできるようにしたいインターフェースがあります。たとえば、FOO と呼ばれる、または特定のプロトタイプに一致するすべての関数 (別のファイルではありますが) を呼び出し、最終的に他のファイルのヘッダーなしでファイル内の関数を呼び出すことができるようにしたいと考えています。それができるハックを見つけたので不可能だとは言いませんが、ハッキングされていない方法が欲しいです。(ハックは nm を使用して関数とそのプロトタイプを取得し、関数を動的に呼び出すことができます)。また、動的リンクを使用してこれを行うことができることは知っていますが、ファイルを静的にリンクしたいと考えています。何か案は?

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

c++ - Snow Leopard での wxWidgets の問題

wxWidget アプリケーションのコンパイルに問題があります。次のようにライブラリの最新バージョンをインストールしました。

私は単純な hello-world の例を次のようにコンパイルしようとしています:

ただし、次のものとのリンク中にコンパイルが失敗します。

このフレームワークのどこに問題があるのでしょうか、または誰かが同様の問題を抱えていましたか?

どうも。

PS システム: SnowLeopard (64 ビット) 10.6.5。Intel proc、gcc 4.2。

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

gcc - 静的ライブラリをコンパイルするときに、以前の最小カーネル バージョンを設定する

私のディストリビューション (Arch Linux) は最近、そのツールチェーンでサポートされている Linux カーネルの最小バージョンを増やしました。静的にリンクしてから Web サーバーにアップロードする Web アプリケーションをコンパイルしていますが、Web サーバーのカーネル バージョンは、新しいツールチェーンでコンパイルされた静的ライブラリには古すぎます。(サーバー上で静的バイナリを実行しようとすると、セグメンテーション違反が発生します。) GNU ツールチェーン (GCC、binutils、glibc) を使用してアプリケーションをコンパイルし、新しいカーネル バージョンを必要とする機能を除外する方法はありますか?

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

opengl - Dでlibglut.aにリンクする際の問題

コンパイルする単純なopenGLDプログラムがありますが、libglut.aとリンクさせることができません。私はいくつかの異なるコマンドラインを試しました:

これらはすべて、次のエラーを出力します。

コマンドラインに問題がありますか、それとも他の問題ですか?