3

序文: Visual Studio や Windows での C/C++ の記述や学習から、物事をコンパイルして操作する方法を学ぶことには本当に背を向けてきました。私はvimとg ++を備えたUbuntuを好みますが、それに加えて、Windowsベースの優れた作業環境をセットアップしたいと考えています。

質問: 基本的に、Notepad++ で C++ を学習しており、コンパイラとして MinGW を調べました。どのように設定するのが最善か、コードのコンパイルに関連するすべての細目、およびそれが MinGW の dll ファイルにどのように依存するようになるかについて、良い答えを見つけるのに苦労しています。

C:\MinGW\bin フォルダーの外でコンパイルするようにパスを設定する必要があるようですが、それでも同じフォルダーでプログラムを実行する必要があります。そうしないと、dll が見つからないというエラーが表示されます。

これは実際の開発にとって面倒であるだけでなく (Linux への移行とは言わないで、序文を読んでください)、他の Windows システムへのコードの移植性を妨げます。おそらく、実行可能ファイルを正しく作成し、それらのファイルをインストーラーでパッケージ化する方法についての知識が不足しています。それが私が学ぶ必要があることなら、おそらく私を正しい方向に向けてください.

4

3 に答える 3

2

mingw のnuwen ディストリビューションをダウンロードします。インストーラーでインストールします。これにより、(とりわけ) という名前のファイルが作成されopen_distro_window.batます。デスクトップにそのショートカットを作成します。それをダブルクリックすると、パスとその他の環境変数が設定されたウィンドウが開き、コンパイル、リンクなどを行うことができます (選択したディレクトリで)。

作業を簡単にするために、ショートカットを作成したら、右クリックしてそのプロパティを編集します。「開始」ディレクトリを、開発中のプロジェクトを保持する場所のルートに変更します。

于 2012-10-26T15:33:33.710 に答える
2

exe を動作させるために必要なことは、GCC DLL を PATH のどこかに置くか (PATH に追加C:\MinGW\binすることによって)、リンカー引数として「-static」を使用して GCC ランタイム DLL に静的にリンクするようにすべてのコードをコンパイルすることだけです。実行可能ファイルを配布するときは、libgcc*.dll と libstdc++-6.dll の両方が実行可能ファイルと共にインストールされていることを確認する必要があります。(まだ MinGW.org のツールチェーンを使用している場合は、MinGW-w64 にステップアップする時が来ましたmingwm10.dll

GCC DLL は、Visual Studio の C++ 再頒布可能パッケージとほぼ同じです。特定の VS バージョンでビルドされたコードを実行するには、DLL が必要です。静的にリンクすることが、その問題を回避する唯一の方法です。

また、CMake のようなクロスプラットフォーム ビルド システムを入手してください。それはあなたの人生をずっと楽にしてくれます。

于 2012-10-26T19:20:58.460 に答える
1

あなたが書きました: I much prefer Ubuntu with vim and g++.
今では「msys/mingw」を長く使っていて幸せです。

MSYS は、bash 、 make 、 gawk 、 grepなどの GNU ユーティリティのコレクションであり、従来のUNIX ツールに依存するアプリケーションやプログラムの構築を可能にします。

これは、MinGW と cmd シェルの欠点を補うことを目的としています。続きを読む MSYS/minGW . ソースをc:\msys\1.0\srcそこのフォルダーに入れます。それらは右側に置かれます。

私も昔、「cygwin」でやってみました。常にどちらかの問題がありました。

于 2012-10-26T18:10:05.043 に答える