問題タブ [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 投票する
1 に答える
105 参照

c++ - opencv 64 exe を作成する必要があります (エラー The procedure entry point could not be loaded )

Netbeans IDE で mingw-w64 と opencv 64 ビット dll を使用して 64 ビット アプリケーションをビルドする方法。「mingw w64」を正常にインストールし、64 ビットの単純な C++ exe を正常に生成しました。

対応する 64 ビット dll を PATH および NetBeans フォルダーに含めることで、単純な opencv 64 ビット アプリケーションを作成しようとしましたが、常に次のようなエラーが発生します。

ここに画像の説明を入力

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

build - Windows で MinGW x64 をビルドする方法

ここに次のような質問がありました: MinGW W64 のビルド方法

しかし、答えはありません。

mingw-w64-howto-build.txt を読んで宿題をしましたが、まったくうまく書かれていません。

そのファイルの一部を次に示します。

== Mingw-w64 ヘッダー セットをインストールし、必要なシンボリック リンクを作成します == [HDRSYM]

ステップ 1) ヘッダーのソース ディレクトリは、ソースに応じて mingw-w64/trunk/mingw-w64-headers または mingw-w64/mingw-w64-headers になります。

ステップ 2) 別の「build」ディレクトリを作成し、その中に入ります。ヘッダーをインストールするには、次を実行します: ../path/to/configure --build= \ --host=x86_64-w64-mingw32 --prefix=/mypath 次に、「make install」を実行してヘッダーをインストールします。

「プレフィックス」とは?ここにはどのパスを入力すればよいですか?

手順 3) GCC では、x86_64-w64-mingw32 ディレクトリを同じルートのディレクトリ 'mingw' としてミラーリングする必要があります。したがって、configure default /usr/local を使用する場合は、次のように入力します: ln -s /usr/local/x86_64-w64-mingw32 /usr/local/mingw、または sysroot の場合は次のように入力します: ln -s /mypath/x86_64-w64-mingw32 /mypath/mingw

デフォルトを使用しているかどうかを確認するにはどうすればよいですか? この「/usr/local/mingw」がシステムに存在する場合、どこにあるべきですか? 「マイパス」って一体何?? 何のためのパス?C:\MinGW (この x64 のビルドに使用する必要があるもの) に MinGW をインストールしました。それはこのシンボリックリンクと関係がありますか??

ステップ 4) x86_64-w64-mingw32/lib ディレクトリを手動で作成します: mkdir -p /usr/local/x86_64-w64-mingw32/lib または、sysroot の場合: mkdir -p /mypath/x86_64-w64-mingw32/lib既に存在し、エラーが表示されますが、無視してください。

sysroot の場合は? どういう意味ですか?

ステップ 5) x86_64-w64-mingw32/lib ディレクトリを x86_64-w64-mingw32/lib64 としてシンボリック リンク: ln -s /usr/local/x86_64-w64-mingw32/lib /usr/local/x86_64-w64-mingw32/lib64 sysroot の場合: ln -s /mypath/x86_64-w64-mingw32/lib /mypath/x86_64-w64-mingw32/lib64

sysroot の場合は? どういう意味ですか?#2

色々試してみましたが、結果は以下の通りです。

configure: エラー: mingw-w64 ヘッダー セットとビルド/ホスト オプションが正しく設定されているかどうかを確認してください。構成: エラー: ../../mingw-w64-crt/mingw-w64-crt の構成に失敗しました

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

c++11 - MinGW64 は 32 ビット コードをコンパイルできません

このリンクx64-4.8.1-posix-sjlj-rev1から MinGW をダウンロードしましたが、x86 ターゲット用にビルドしようとすると、多くのリンケージ エラーが発生します... x64 ライブラリのみがインストールされているようです...

Windows で x86 および x64 プラットフォーム用にビルドする必要があります... x64 と x86 の両方をダウンロードする必要がありますか、それとももっと簡単な方法がありますか?

編集IDE として eclipse keplero を使用していg++ -m32 -std=c++11 test.cpp -o test32.exeますg++ -m64 -std=c++11 test.cpp -o test64.exe。そして、すべて問題ありません...したがって、問題はEclipseにありました...少し後で、MYSY( PATH に設定)を使用し、-m32をc ++リンケージオプションにも設定する必要があることがわかりました...

今は大丈夫です。

また、NetBeans C++ を IDE として使用しようとしました...素晴らしい IDE のようです!!!

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

c - Excel 64 ビット C アドインのコンパイルの問題

これは、Excel 2010 64 ビット用の Excel .XLL アドインに変換したい C コードの一部です。問題は、Excel 2010 が 32 ビット アドインを実行できるかどうかではありません。このアドインから 64 ビット JVM を起動する必要があるため、コードは 64 ビットである必要があります。

Visual Studio 2012 でコンパイルすると動作します。このまったく同じコードを mingw64 でコンパイルすると、コンパイルされますが、Excel がクラッシュします (XLCALL32 は Excel 2010 SDK の 64 ビット バージョンです)。

c:\mingw\mingw64_rubenvb\bin\x86_64-w64-mingw32-gcc.exe -m64 -shared -o test.xll test.c -L . -lXLCALL32

長く苛立たしい努力を重ねた結果、Excel4の呼び出しに問題があることがわかりました。

その呼び出しをExcel12 (前述の SDK に付属する XLCALL.CPP ファイルから) に置き換え、明らかに XLOPER12 と XCHAR を使用すると、すべてが機能します。

これがなぜなのか、誰かが洞察を持っていますか?

コードは次のとおりです。

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

c++ - 非常に大きな .cpp ファイルのコンパイル

私のケースに当てはまる本当の答えのない同様の質問: CLICK
ここで質問する前に調査した質問 - CLICK

私はMinGW64非常に大きな.cppファイル(>13k行)を試してコンパイルするために使用していますが、Visual Studio 2010にもアクセスできます-誰かがそれを使用したソリューションを持っている場合は、お気軽に教えてください.
組み立て段階でエラーを特定しました -

2 人の同僚が提案したように、私は現在-Os--param ggc-min-expand=0,を使用してコンパイルを実行しています - コンパイルは現在 5 時間以上実行されています。--param ggc-min-heapsize=4096

アップデート:

一部の人々が示唆しているように、ファイルを2つのソースファイルに分割し、それらのヘッダーを作成します-ありがとう。

2 回目の更新:

ヘッダーを作成し、ファイルを 4 つの小さなファイルに分割した後でも、コンパイルはまだ完了していません (5 日 !!!)。

最後の

この問題は未解決のままでした - 投稿したすべての人からのアドバイスに従った後でも、これをコンパイルすることができませんでした.

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

wxwidgets - Windows と CodeLite 用に wxWidgets を設定するにはどうすればよいですか?

新しい設定を試しています。私は32ビットのWindows 8 Proラップトップを使用しています。MinGW-builds の GCC 4.8.1 をダウンロードしました。LLVM と CLang (トランクの SVN コピーから 3.4+) をコンパイルするために使用しました。どちらも私のPATHにあります。

MinGW/GCC 4.7.1 のコピーが付属している CodeLite 5.2 をダウンロードしました。純粋なコンソール チュートリアルのサンプルは動作しましたが、wxWidgets のサンプルは動作しません。( Quick Startです。) wxWidgets をダウンロードしてインストールしました。(常に良い最初のステップです。) MinGW-4.8.1 でビルドしました。エラー ノートを読み、WXWIN「C:\wxWidgets-2.9.5」とWXCFG「..\build\msw\gcc_mswud」に 2 つの環境変数 (最初はローカル、現在はシステム) を追加しました。(最初はWXCFG絶対パスだと思っていましたが、" %WXWIN%\lib\" に基づいています。) パスにスペースが入らないように、MinGW と LLVM のビルドを "C:\Program Files" から "C:\" に移動しました。

F7でビルドしたときの(まだ)エラー出力は次のとおりです。

ある時点で、コンパイラのステップでエラー メッセージが出力され、次のステップでそれが実際のパラメーターとして解釈されました。(stdout ではなく stderr でエラーを送信する必要がありましたか?)

アップデート

実際の作業に移った後、エラーが発生し、ダウンロードした 4.8.1 を使用する代わりに、CodeLite のダウンロードに付属の MinGW 4.7.1 を CodeLite がまだ使用していることに気付きました。おそらく、検索ディレクトリを 4.8.1 に変更したことで問題が発生したと思われます。全部消してやり直そうかな…。

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

c++ - mingw64 の boost.thread を使用した InterlockedCompareExchange への未定義の参照 (mingw32 ではありません)

私は、mingw64 とすべての関連パッケージがインストールされた、fedora 19 x86_64 コンピューターを使用しています。私は個人的な C++ プロジェクトに取り組んでいましたが、それをスレッドセーフにすることにしたので、Boost.thread 同期オブジェクトを試してみることにしました。実行するとすぐに、InterlockedCompareExchange に関連するリンカー エラーが発生し始めました。次のテスト プログラムは、私の要点を示しています。

コマンドラインは次のとおりです(非マルチスレッドバージョンがないため、-lboost_thread-mt を入れました。これは理にかなっています)。

$ x86_64-w64-mingw32-g++ -std=c++11 test.cpp -o test -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -L/usr/x86_64-w64-mingw32/ sys-root/mingw/lib -lboost_thread-mt -lboost_system

/tmp/cc4Wh6PO.o:test.cpp:(.text$_ZN5boost12shared_mutex28interlocked_compare_exchangeINS0_10state_dataEEET_PS3_S3_S3_[_ZN5boost12shared_mutex28interlocked_compare_exchangeINS0_10state_dataEEET_PS3_S3_S3_]+0x2f): 未定義の参照が返される

しかし、mingw32 では魅力的にコンパイルされます。

$ i686-w64-mingw32-g++ -std=c++11 test.cpp -o test -I/usr/i686-w64-mingw32/sys-root/mingw/include -L/usr/i686-w64-mingw32/ sys-root/mingw/lib -lboost_thread-mt -lboost_system

私の質問は: 私は何か間違ったことをしているのですか、それとも mingw64 のバグですか? mingw の Windows バージョンでコンパイルできますか?

編集:実際にはそうでしたので、fedora mingw64パッケージのバグに違いありません

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

c++ - Boost + Mingw-w64 + Boost ログが機能しない

私はブーストをコンパイルし、cmake を動作させ、すべてが動作に近づいていますが、最も単純な例 (単純なログ記録) はリンカー エラーでコンパイルに失敗します。私は本当に何をすべきかわかりません。

これが私の現在のCMakeセットアップです

エラーログはこちら

Boost は、動的ライブラリを使用するようにコンパイルされています。

Boost-1.54、Mingw-w64 4.8.1 rev 5 (x64 seh posix バージョン)、および Cmake 2.8.11 を使用しています。静的リンクを試みましたが、役に立ちませんでした。

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

c++ - #error Win32 ターゲットのみがサポートされています

私は cygwin64 を使用しており、プロジェクトに MinGW64/x86_64-w64-mingw32/include フォルダーを含めています。ただし、プロジェクトで make を実行すると、次のエラーが発生し/cygdrive/c/MinGW64/x86_64-w64-mingw32/include/sys/types.h:10:2: error: #error Only Win32 target is supported! ます。types.h ファイルは 64 ビット フォルダーにあるように見えるため、64 ビット システムをサポートすると思いますが、このシステムで何が誤解されているのでしょうか。 .

それがキャッチされる types.h のコードは次のとおりです。

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

c++ - MinGW を使用した Windows 上の Qt5 プロジェクト

Qt/C++ プロジェクトに Visual Studio 2012 を使用しています。

MSFT のコンパイラが提供する部分的なサポートではなく、C++11 を完全に使用できるように、MinGW に移行しようとしています。CMake を使用してプロジェクトを生成し、すべてのサブプロジェクトとメイン プロジェクト自体をコンパイルして、作成は非常に順調に進みました。

ただし、リンクするといくつかのエラーが発生し、それらを解決する方法がわかりません。

リンク CXX 実行可能ファイル Owl.exe CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x1e): undefined reference to __imp__ZN9QTreeViewC2EP7QWidget' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x7b): undefined reference to_ imp _ZN9QTreeViewD2Ev' CMakeFiles\Owl.dir/objects.a (BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x116): __imp__ZNK17QAbstractItemView5modelEv' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x1a1): undefined reference to _ imp _ZNK18QStandardItemModel9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEEi への未定義の参照' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text +0x303): __imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x350): undefined reference to_ impへの未定義の参照_ZeqRK7QStringS1_' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x53e): __imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x649): undefined reference to _ impへの未定義の参照_ZNK9QTreeView10indexBelowERK11QModelIndex' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x669): 未定義参照__imp__ZNK17QAbstractItemView5modelEv' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x6b1): undefined reference to _ imp _ZN17QAbstractItemView15setCurrentIndexERK11QModelIndex' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp) .obj):BoardTreeView.cpp:(.text+0x6c1): __imp__ZN8QVariantD1Ev' CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj):BoardTreeView.cpp:(.text+0x6d6): undefined reference to_ impへの未定義の参照_ZN8QVariantD1Ev' c:/progra~1/mingw-~1/x64-48~1.1-p/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../. ./../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\Owl.dir/objects.a(BoardTreeView.cpp.obj): セクション `.text$_ZNSt9exceptionC2Ev[_ZNSt9exceptionC2Ev] の不正な再配置アドレス 0xf ' collect2 .exe: エラー: ld が 1 終了ステータスを返しました Deltas\CMakeFiles\Owl.dir\build.make:1217: ターゲット 'Deltas/Owl.exe' のレシピが失敗しました mingw32-make[2]: * [Deltas/Owl.exe]エラー 1 CMakeFiles\Makefile2:435: ターゲット 'Deltas/CMakeFiles/Owl.dir/all' のレシピが失敗しました mingw32-make[1]: [Deltas/CMakeFiles/Owl.dir/all] エラー 2 Makefile:115: ターゲット 'all' のレシピが失敗しました mingw32-make: * * [all] エラー 2

このプロジェクトは、Visual Studio (および Xcode、FWIW) を使用して正常にコンパイルおよびリンクされるため、リンカに何が欠けているのかわかりません。

誰でも提案できますか?