問題タブ [mingw-w64]

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 に答える
11284 参照

bash - 'as' を実行しようとしてエラーが発生しました: execvp: そのようなファイルまたはディレクトリはありません

ビルドしようとすると、次のエラーが発生します。

0 投票する
3 に答える
12367 参照

python - Windows 用のビルド済みの *debug* バージョンの Python ライブラリ (Python27_d.dll など) を入手する方法

まず、私の現在の開発環境はMSYS + mingw-w64 + Windows 7の ActivePythonであり、普段はに Linux 開発者です。デバッグ シンボルを含むバージョンの Python ライブラリを取得またはコンパイルすることに喜びを感じていません。

理想的には、Python27.dllファイルの 32 ビットと 64 ビットの両方のデバッグ バージョンが必要です。Python を組み込み、C++ で Python 拡張機能を実装できるようにしたいと考えています。また、mingw-w64 用にビルドしたgdb-7.4と純粋な Python 側の WingIDE を使用して、シームレスなデバッグ機能を呼び出すことができるようにしたいと考えています。

mingw -w64 ツールチェーンを使用してソースからPython 2.7.3をビルドするのは、あまりにも問題が多いことが判明しています -- そして、誰かが私を試してみると非難する前に: 私はこの環境がサポートされていないことを認めますが、いくつかの賢明な方法でこれを機能させることができると思いましたパッチ (ハッキング) および:

make OPT='-g -DMS_WIN32 -DWIN32 -DNDEBUG -D_WINDOWS -DUSE_DL_EXPORT'

私は間違っていました...変更の影響が不確実になったため、posixmodule.cであきらめました。ymmv。

私はVisual C++ 2010 Expressでビルドを試みましたが、主に Linux 開発者である私にはカルチャー ショックが大きすぎて今日は耐えられません。Python プロジェクトは正常にインポートされません。どうやら、Visual C++ 2008 が必要なようですが、可能であればこの道をたどりたくないとすでに確信しています...

必要な .dll を提供する zip ファイルがインターネットのどこかにないことは、私にとって本当に驚くべきことです。ActiveState は、作成する ActivePython のリリースごとにオプションのダウンロードとしてこれらを実際に提供する必要があります。おそらく、有料サポートの出番です ;-)。

私の環境で Python デバッグ ライブラリ ファイルを取得する最良の方法は何ですか?

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

opengl - WindowsDLL-cgoとのリンク

私の最終的な目標は、Goパッケージから多数のDLL(opengl32.dll glfw.dllおよびglu32.dll)に正常にリンクすることですが、go-glfwパッケージにリンクしようとすると、「未定義」エラーが発生しました。

そこで、%GOROOT%\ misc \ cgo \ lifeの単純な変更されていない例から、非常に単純なcgo動的/共有ライブラリリンクを機能させることにしました。しかし、コマンドgo build -o life main.goを呼び出すだけで、本質的に同じリンカーエラーで失敗します。

「定義されていません」...上記のようにglfwをリンクしようとしたときに発生したのとまったく同じエラー。

これは改ざんされていない新しいものです。今朝新しくダウンロードされたGo1.0.1のインストールは、かなり最近のWin764ビットインストールです。何がうまくいかない可能性がありますか?私は知っています...ウィンドウズ。アイデアを聞きたいです...CGOとのDLLリンクは、私がネットで読んだことから簡単に実行できるようです。しかし、最も単純な例でさえ私には失敗します。

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

gcc - mingw64 で GLFW の Win64 バージョンをコンパイルする

まず、glfwdll.a と glfw.dll の 64 ビット バージョンを作成する必要があります (そのため、Windows で Go glfw バインディングを動作させることに最終的に成功することができます... Linux では簡単でした!)

"maincrt entry point not found, using default 0xsomehexnumber.代わりに」またはそのようなもの。もちろん、エントリ ポイントは実行可能ファイルを参照します。この場合は、examples ディレクトリにあるものです。

実際、それらのほとんどは機能しません。しかし、すべてが構築されました。次の実行可能ファイルが機能します。

listmodes.exe mtbench.exe mthello.exe およびparticle.exe - 後者は私にとって唯一のグラフィカル(3d gfx)の例です(前者はコンソールウィンドウにいくつかのテスト情報を出力するだけです)。

さて、他の問題は何ですか?それらはクラッシュせず、コンソールに何も報告しません...私がそれらを実行すると、すぐに、静かに戻ります。

私のGLFWビルドは壊れていますか? 直し方?動作する 4 つの例と動作しない他の例の大きな違いは何ですか?

これはかなり新しいバニラ Win7 64 ビット インストールです。クラップウェアはなく、すべてが最新で、UAC とテーマはオフで、多くのソフトウェアはまったくインストールされておらず、Nvidia GPU ドライバーが更新されています (GPU Caps Viewer などは正常に動作するため、OpenGL が存在します)。

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

opengl - OpenGLのglClear()は、Windows 64でアクセス違反(0xc0000005)を引き起こします

Goで書かれたこの非常にシンプルな小さなテストケースOpenGLプログラムを見てください。

これは、Go1.0.164ビットを使用するWindows764ビットで正常にビルドされます。

また、 gl.Clear (gl.COLOR_BUFFER_BIT)行を削除(またはコメントアウト)すると、正常に機能します(OpenGLは、ウィンドウが閉じるまで単一の虹色の2D三角形を描画します) 。

ただし、gl.Clearが呼び出されると(どの引数が渡されても)、クラッシュし、Windowsから「glfw-win.exeが動作を停止しました...」と通知され、Windowsイベントビューアに次のエラーログが表示されます。 :

さて、注目すべき点がいくつかあります...

  1. glfwパッケージは、github.com / jteeuwen / glfwとまったく同じAPIを公開する単なるカスタムパッケージですが、コンパイル時のCGO / GCC/LDリンクではなくglfw.dllを使用するためにLoadLibrary/GetProcAddressを内部的に使用します。悲しいことに、64ビットWindowsで動作するように作られていますが、mingw64、gcc、cgoのいずれが原因かはわかりません。LoadLibrary / GetProcAddressを呼び出すと、glfw.dllのカスタム64ビットビルドが非常にうまく機能します。明らかに、ここでの問題は、glfwではなくglパッケージの呼び出しにあります。

  2. glパッケージは、実際にはこれだけで、変更されていません。-m64 -lmingw32 -Wl、/ windows / opengl32.dllなどのいくつかのLDFLAGSの変更を試しましたが、違いはありません。gl.Clear()が呼び出されない限り、元の変更は変更されたものと同じように機能します。そのため、元に戻しました。もちろん、後でOpenGL4.2に移ります。

  3. Process Explorerを使用すると、プロセスが64ビットであり、ロードされたすべてのDLLも64ビットイメージ(opengl32.dllおよびglfw.dllを含む)であることがわかります。

  4. 「gl21パッケージがopengl32.dllによってエクスポートされたglClear()関数の有効なアドレスを取得できなかった可能性がありますか?」-ありそうもない:2926行目によると、この場合、gl.Init()の呼び出しは失敗します。

  5. GPUドライバーの問題?さらにありそうもない。最新の公式nVidiaQuadro5010Mドライバー296.35がインストールされています。「パフォーマンスドライバー」も試してみましたが、とにかくまったく同じドライバーのようです。nVidiaコントロールパネルによるOpenGL4.2の完全サポート(opengl32.dllの日付は2009年ですが、とにかく、現在ターゲットにしている2.1には十分です)。さらに、「Geeks3D GPU CapsViewer」および「ShaderToyMark」のOpenGLシェーダーは、GLFWサンプルプログラムparticles.exeと同様に実行されます。これらはすべて、glClear()も使用します。

  6. gl21の代わりにgl42を使用した場合もまったく同じ問題が発生するため、それも原因ではありません。

この例では、他のすべてのgl.SomeExportedFunc()呼び出しがクラッシュしないことに注意してください...

何をすべきか、どのように進めるか?

これがgl.Clear()でのみ発生し、他の機能がこれまでにない場合、これで生きることができます-とにかくカスタムコンテンツでフルスクリーンクワッドをレンダリングするだけです-しかし、ここでWin64をテストするのはかなり早いです(多くのgl42コードはLinux64で問題なく動作し、Win64に「移植」されようとしています)。後でさらに呼び出しを行うと同じ問題が発生するのではないかと心配しているので、今報告します。これによって影響を受ける他の呼び出しはすぐにわかります。

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

c++ - Ubuntu で Mingw64 を使用して Matlab oct ファイルをクロスコンパイルする際の問題

外部ライブラリglpkを含む C++ アプリケーションを作成し、Matlab API へのバインドを使用してブーストしました。mex を使用して Matlab でコンパイルする Ubuntu では、プログラムは問題なく実行されます。

Windows プラットフォームで同じアプリケーションを使用するために、Mingw64 を使用してクロスコンパイルしたいと考えました。このスレッドに対応して、次のコマンドで実行できます。

  • パス/usr/local/includeには、ブースト ライブラリ (ヘッダーのみのライブラリ) のヘッダー ファイルが含まれています。
  • パス/usr/includeには glpk ライブラリのヘッダー ファイルが含まれています
  • パス/usr/libには glpk ライブラリのソース ファイルが含まれています。

しかし、このコマンドを実行すると、次conflicting declarationsのタイプがあるというエラーが表示されます。

パス/usr/includeがコンパイラに問題を引き起こしているようです。ただし、glpk ヘッダー ファイルを含める必要があります。問題を解決するためのアイデアはありますか?

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

gcc - Cygwin で MinGW-w64 を使用するには?

MinGW-w64 は、少なくとも2010 年 12 月以降、Cygwin で利用できるようになりました。ただし、これを使用してほとんど何でもコンパイルするのに苦労しています。代替とのシンボリックリンクを設定しました

たとえば、コンパイルしようとするとwget

エラー(簡潔にするために編集)

私が使用する場合

  • MinGW gcc を使用した MinGW シェル
  • Cygwin gcc を使用した Cygwin シェル ( gcc4-core)

次に、Wget がコンパイルされます。

ak2の回答に基づいて、これはうまくいくようです

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

c++ - MinGW 32 と 64 の両方に objcopy からのバイナリ BLOB を含める

MinGW と MinGW-64 を使用して DLL とリンクするために、objcopy を使用してテキスト ファイルをオブジェクト ファイルに変換しています。MinGW ではすべて正常に動作しますが、MinGW-64 では「`binary_src_glsl_RGBtoHSV_glsl_end' への未定義の参照」という形式のエラーが発生します。元のファイルは RGBtoHSV.glsl という名前で、binary\src\glsl フォルダーにあります。objcopy からの出力では、変数名は _binary_src_glsl_RGBtoHSV_glsl_end です。そのファイルの変数にアクセスするための私のコードは次のとおりです。

変数名を変更して、前にアンダーコアを付けると、次のようになります。

次に、そのシンボルは MinGW-64 で見つかりますが、MinGW (32 ビット) では見つかりません。--remove-remove-leading-char オプションを objcopy に試してみましたが、効果はありませんでした。私が見る限り、私のオプションは、MinGW 32 ビット用にビルドするときに「--prefix-symbol _」を使用して objcopy によって生成された変数名にアンダースコアを追加することです。この場合、上記の変数名は 32 ビットで機能します。そして64ビット。

この問題の別の解決策はありますか? 理想的には、次のようなものが欲しいです

ここで、fix_underscore_problem は先頭のアンダースコアの問題を修正する魔法のコマンドです。

更新 (2012-07-01): Win32 で GCC を使用して先頭のアンダースコアをアセンブリ シンボルに追加するに記載されているアドバイスを使用しますか? 使用するヘッダーファイルで変更しました

これで問題は解決したようですが、今ではこれがどれほど移植性があるのだろうかと思います。MSVC またはこれを行う C++ 標準の方法で利用できる同等の構文はありますか?

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

c++ - リリースモードでリンクしているRegexBoostライブラリは、mingw-w64ツールチェーンを使用すると「重複するセクションのサイズが異なります」と警告します

プロジェクトをリリースモードでリンクすると、次の警告が表示されます。

ブーストライブラリがプロジェクトで使用しているものとは異なるオプションでコンパイルされていることが原因である可能性がありますが、違いを見つける方法がわかりません(ブーストはビルド中にこれらのオプションを出力しませんでした)。

Ubuntu 12.04でwin32のブーストをコンパイルするために、次の手順を使用しました。

私のプロジェクトでファイルをコンパイルするために、私は次のようなものを使用します

私が行ったテストでは、正規表現は正常に実行されていることが示されていますが、それでも警告を解決したいと思います。

編集

bjamのcxxflags=引数を使用して、ブーストコンパイラに追加のオプションを追加できることがわかりました。

例:bjam cxxflags='-fPIC'...。

たぶん、私がプロジェクトに行うのと同じ引数を確実に渡すことで、問題を解決できる可能性があります(特に、リンクされた質問で提案されている最適化に関連する引数)。

0 投票する
0 に答える
429 参照

c++ - iostream から欠落しているメソッド

現在、いくつかの単純な IO を実行しようとしていますが、いくつかのメソッドが解決されていません。

現在、Mingw-w64 を使用しています。MinGW\lib\gcc\x86_64-w64-mingw32\4.7.2\include\c++\fstream をチェックインしましたが、basic_ifstream などのメンバー用に存在します。

(まとめ忘れてすみません)

エラー 1:

エラー 2-4