質問

Linuxに移植したいWindows C ++アプリケーションを作成しました。これを行う主な理由は、ITスタッフのシステムメンテナンスの容易さです。このアプリケーションを実行する1台のWindowsマシンは別として、Linuxのみの操作です。

このアプリケーションがWindowsで構築され、Windows上で実行される理由は、Windows API(dllおよびヘッダー)を使用して外部のパーティに属するサーバーに接続するためです。この接続は、私が実際に混乱させたくないいくつかの独自のプロトコルを使用しているので(契約上許可されていないと思います)、. dllで立ち往生しています。

このdllは、dll内のWindowsソケット固有のコード(と思われる)のためにのみWindowsです。それを除けば、それは高度なものの多くをしません。 WINEのLinuxでアプリを実行することと、プロトコルをスニッフィングしてDLLを再実装することで、Linuxマシンでこのアプリケーションを実行できるようにする方法はありますか?

このアイデアは、このに触発されました。 QTクリエーターに関する項目ですので、私がそれを試すことができるソリューションは非常にクールです。

役に立ちましたか?

解決

最も明白な妥協点は、 Winelib を使用することです。ネイティブDLLに直接リンクできるかどうかはわかりませんが、そうでない場合は、おそらく LoadLibrary()で読み込むことができます。

アプリケーションを2つの部分に分割できます。DLLを呼び出すだけのラッパーと、ラッパーと通信する残りのコードです。両方を別々のプロセスに入れることができます。したがって、Winelibでコンパイルする必要があるのはラッパーのみです。アプリケーションの残りの部分では、必要なフレームワークを使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top