問題タブ [linker]
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.
c - DelphiプロジェクトにC.libファイルを含める/リンクする方法
Delphiアプリケーションに含める必要のある機能を備えた.libファイルがあります。
.objファイルを含めるのは簡単ですが、何らかの理由で、これは.libファイルでは機能しません。ヘルプはこれに関してあまり役に立ちません。そして、グーグル検索はそれほど役に立ちませんでした(最も役に立ったのは他のリンカーを使用することでしたが、可能であればそれを避けたいと思います)。
1つの解決策は、C ++ Builderを使用してパッケージを作成することですが、私はそれがあまり好きではありません。
だから問題は、誰かがC .libファイルをDelphiプロジェクトに含める方法を知っていますか(機能を使用できるようにするため)?または、.libファイルを.objファイルに分割する方法はありますか。
(ちなみに2006年を使用しています。
c++ - .DLLを静的にリンクする方法は?
VSによってビルドされた(純粋なネイティブC ++).DLLがあります。クライアントとして、いくつかのネイティブC ++アプリケーションと、C ++/CLIで記述されたこのDLLの周りの.Netラッパーがあります。最後に、C#で記述された.Net-Wrapper用のクライアントアプリケーションがいくつかあります。
私の問題は、native.dllを.Netの世界とは異なる方法で配布する必要があり、VSがそのDLLを追跡しないことです。したがって、すべてのC#アプリを正しく機能させるには、各実行可能ディレクトリにコピーするか、%PATH%のどこかに配置する必要があります(開発者のコンピューターでは、DLLのバージョンが異なるさまざまなアプリを起動する可能性があるため避けます)。Wrapper-DLLを参照するUserControlがある場合、さらに大きな問題が発生します。DLLをVSのディレクトリにコピーするか、%PATH%に再度コピーする必要があります。しかし、最悪のケースは、翻訳ツールで発生します。このツールは、.Netアセンブリを追跡し、それらを外部のトランスレータに送信できるトランスレータパッケージにパックします。私の知る限り、ネイティブ.DLLをそのパッケージに入れる方法はありません。
そのため、ネイティブDLLを静的に.Net-Wrapperにリンクして、問題を解決する予定です。ただし、ネイティブアプリケーションの場合、このネイティブDLLは引き続きDLLである必要があります。
したがって、2つのオプションがあります。
- その2つのプロジェクトを作成します(1つは静的ライブラリを生成し、もう1つは動的ライブラリを作成します=>これを回避しようとします)
- DLLを静的にリンクするための解決策を見つける
- VSが1つのプロジェクトから2つの出力を生成するようにする方法を見つける
c++ - C++標準およびグローバルシンボルの削除
コンパイラがグローバルシンボルと静的シンボルを削除することに関してC++標準が言っていることへのリンクを持っている人はいますか?グローバルシンボルが参照されていない場合、コンパイラがグローバルシンボルを削除するという保証はないと思いました。私の同僚は、グローバルシンボルがメインの翻訳ユニットに含まれている場合、それらのシンボルが参照されていなくても削除されないと主張しています。
c - C コード ベースでのグローバル変数の識別
C コード ベースがあり、使用されているすべてのグローバル変数をプログラムで識別する必要があります。gcc でメモリ マップ ファイルを作成できると思いますが、その方法がわかりません。これにより、どの変数がグローバルであるかがわかりますか? どんな助けでも大歓迎です。
乾杯
c++ - C++ リンカー エラー
クラス内にない次のような関数がありました。
VS2005 では正常にコンパイルされましたが、コンパイル ガードを使用していたにもかかわらず、最初にファイルをインクルードした後、各ファイルでリンカー エラーが発生しました。直感で、次のようなクラスで囲みました。
そしてバン!修理済み。
質問: なぜですか?
linker - 共有ライブラリをリンクするときにシンボルの可視性を制限する
一部のプラットフォームでは、共有ライブラリの外部シンボルのリストをリンカーに提供する必要があります。ただし、ほとんどの unixish システムでは必要ありません。すべての非静的シンボルがデフォルトで使用可能になります。
私の理解では、GNU ツールチェーンはオプションで可視性を明示的に宣言されたシンボルだけに制限できるということです。GNU ldを使用してそれをどのように達成できますか?
c++ - Linux リンカー/ローダーの環境オーバーライド
今日、environ について質問したところ、LD_DEBUGを使用して情報を収集できるという興味深い回答がありました。
リンカー/ローダーの環境変数 ( LD_PRELOADなど) についてはしばらく前から知っていましたが、これは初めてのことでした。グーグルで検索すると、LD_DEBUG を含むリンカ/ローダーによって使用される環境変数について説明している Linux 固有の man ページが見つかりました。だから理論的には、私は設定されています。しかし実際には、ツールチェーン内のこの基本的なツールに関連する一連のトリックが完全に欠落していると確信しています。
簡単に言えば、他に何が欠けているのでしょうか?
c++ - Mac OS X での間接的な依存関係とのリンクの問題
間接的な依存関係にはリンクの問題があります。Web で読んだことから推測すると、2 レベルの名前空間の使用が原因である可能性があります。これは、boost ライブラリ、正確には boost_filesystem にリンクするときに発生します。これは、boost_system に依存しています。リンカーは、boost_filesystem と boost_system の間の依存関係を解決しません。誰かがこれを解決する方法を教えてもらえますか? 依存関係に手動で boost_system を追加するのは見苦しいだけでなく、他のプラットフォームでも問題なく動作します。
c++ - G++ 3.4.6 でのリンク エラーの抑制
理由は聞かないでください。リンク失敗エラーを抑制する方法はありますか?
そのような:
BLANK への未定義の参照
これはGCC 3.4.6にあります