64ビットのターゲットC++プログラムを作成しています。私は、32ビット環境をターゲットとしている第三者の.libファイルからコマンドを呼び出す必要がありますが、そうしようとするとLNK2001エラーが発生します。これは可能ですか?64ビットのターゲットアプリケーションから32ビットのlibファイルを呼び出す
4
A
答えて
7
直接ではありません。 32ビットのコードを64ビットの実行可能ファイルにリンクすることはできません。
おそらく、あなたはあなたの静的libがホストし、32ビットプロセスがあなたに代わってコードを実行させるプロセス間通信を使用して、あなたの64ビットプログラムでスタブAPIを記述するために、別の32ビットプロセスを作成することができます。
4
アプリケーション内で直接行うことはできません。
あなたの最善の選択肢は、64ビット版のライブラリを入手することです。
できない場合は、ソケットやパイプを使って通信するメインプログラムとライブラリの間のメディエータとして機能する別個の32ビットアプリケーションを作成することができます。
あなたはこれを行う方法の良い例を知っていますか?また、32ビットプロセスから64ビットプロセスに大量のデータを渡すことは可能ですか? – rossb83
DCC、ソケット、名前付きパイプ、共有メモリなど、どのIPCメカニズムでも動作します。これらの技術のほとんどは、2つのプロセス間で大量のデータを移動することには問題ありません。 –
C++のウィンドウに共有メモリ経由で通信するクライアント/サーバアプリを書くための教え方はありますか? – rossb83