問題タブ [winelib]
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++ - Winemaker/Winelib を使用して Windows.h が見つからない
現在、WindowsプログラムをLinux、より具体的にはDLLに移植しようとしています。コードは C++ で書かれており、多くの Winapi 呼び出しを使用しています。すべてをゼロから再構築したくないので、Winelib で再コンパイルすることは良いスタートであり、試してみる価値があると思いましたが、これまで使用したことがありません。そこで、Winemaker を使用してコードを準備し、Makefile を作成しました。を使用すると、見つからないmake
というエラーが出力されます。windows.h
ええと、私は現在Ubuntuを使用しているので、もちろん見つけることはできませんがwineg++
、wineapiレイヤーを下敷きにすることで、そのようなことを処理できると思いました。Winelib Userguide を読みましたが、コンセプトがよくわからないようです。
ここで何が欠けていますか?これは確かに私がWinelibで遭遇する最後の問題ではないでしょう.
linux - C ++のLinux環境で.dllを呼び出す
Linux 環境からアクセスしたい Windows ダイナミック リンク ライブラリがあります。私はそのライブラリのソース コードを持っていないので、.so ファイルをビルドできません。
Winelib
そのライブラリで定義された関数を呼び出すことができるように、ライブラリファイルを.soファイルに変換するためのライブラリまたはツールを使用する方法はありますか?
c++ - Internetcheckconnectionを使用してC ++でインターネット接続を確認する
を使用して、ユーザーのインターネット接続を確認しようとしていますinternetcheckconnection()
。
コード:
しかし、多くのエラーが次のように出てきます
29 11 C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\Wininet.h [エラー] 'LPVOID' に型名がありません
30 11 C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\Wininet.h [エラー] 'HINTERNET' は型に名前を付けていません
32 11 C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\Wininet.h [エラー] 'WORD' は型名を指定していません。
既に Wininet.lib をインストールしましたが、それでもこれらのエラーが発生します。この簡単な問題を解いていただけると助かります :) .
dll - ワイン仕様ファイル
morag.dll
関数 foo と bar を含むWindows DLL があります。また、foo と bar の Linux 実装を含む Linux SO と呼ばれるものもmorag.so
あります (各プラットフォームで同じパラメーター)。morag.dll
wine で実行したいロードする Windows アプリケーションがあります。morag.dll
アプリケーション自体は正常に動作しますが、代わりに foo と bar in を使用するために、アプリケーションで見つかると予想される foo と bar の間のマッピングを作成する必要がありますmorag.so
。
これを行うには、morag.dll.spec
ファイルを作成し、それを winebuild にする必要があることを知っていますmorag.dll.so
。
hereの指示に従って、関数をmorag.c
含むラッパーを作成しました。これは、実際の関数 foo と bar を呼び出すだけです。それから私はこのように作成しました:-Proxyfoo
Proxybar
morag.dll.spec
c 部分をコンパイルし、spec ファイルを winebuild してから、winegcc を使用してそれらをリンクします。morag.dll.so
次に、プロキシ機能が必要ない可能性があることを示唆するこのページを読んだので、c部分を完全に使用せずに試し、次のように仕様ファイルを作成しました:-
上記のように、winebuild ステップと winegcc リンクステップを実行しました。
どちらの場合も、これらは私が使用したオプションです。
NB [..] は、c 部分もビルドしている場合にのみこれを使用したことを示します。
どちらの場合も、wine で実行しているアプリケーションが、それを使用して DLL のエントリ ポイントを読み込もうとするGetProcAddress
と失敗します。
私はワインを実行しWINEDEBUG=+module,+relay
、試行と失敗が次のように記録されているのを見ました:-
morag.dll.so
ハンドルを返したので、 my を見つけてロードLoadLibraryExA
したようですが、その HMODULE ハンドル内で関数 foo を見つけようとすると失敗します。
私が発行した場合:-
どちらの場合も、foo と bar が U として表示されます。プロキシ機能もある場合は、プロキシ機能を T と表記します。
これはmorag.dll.so
、間違ったオプションを使用してファイルを正しくビルドしていないか、仕様ファイルが正しく形成されていないためだと思います。上記の 2 つのスキームのどちらを使用すればよいかわかりません。
すべてのヘルプが最も高く評価されています。
c++ - 標準の macOS ビルド ツールで Winelib を使用しようとする: 奇妙なコンパイラ エラーが発生する
Winelib を使用して macOS で win32 アプリケーションをコンパイルしようとしています。可能であれば、Xcode で提供される標準の macOS コンパイラを使用したいと思います。ただし、これまでのところ、コンパイルすることはできません。次の内容でファイル test.cpp をコンパイルしようとすると:
Ubuntu 16.04 では、次のコマンドを使用します。
... コンパイラの警告がいくつか表示されますが、それでも正常にコンパイルされます。
ただし、次の同等のコマンドを使用して macOS で同じファイルをコンパイルしようとすると、次のようになります。
...修正方法がわからない次のコンパイラ エラーが表示されます。
自作経由でインストールされた wine / winelib を使用していることに注意してください。
一見すると、Winelib の msvcrt の実装が原因で Xcode のツールチェーンが壊れているようです。
これを修正するためにできることはありますか?