1

Windows 8 64 ビットラップトップでMingWCode::Blocksをセットアップしようとしていますが、ファイルの作成中に問題に直面しています。これらは私がインストールしたバージョンです:main.cpp

mingw64\bin環境変数にパスを設定しました。また、Code::Blocks コンパイラ設定で、すべてのToolChain Executablesのパスを設定しました。MingWのbin パスには 2 つのgccがあります。1 つは -で、もう 1 つは -です。C++ コンパイラ静的および動的ライブラリのリンカーと同じです。単純なHello Worldファイルを作成しようとすると、いくつかのエラーが表示されます。gcc.exex86_64-w64-mingw32-gcc.exe

obj\Debug\main.o -- In function swscanf  

c:\mingw\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.7.3\..\..\..\..\x86_64-w64-mingw32\include\wchar.h -- undefined reference to `__gxx_personality_sj0'

obj\Debug\main.o -- In function `wscanf':

c:\mingw\mingw64\bin\..\lib\gcc\x86_64-w64-mingw32\4.7.3\..\..\..\..\x86_64-w64-mingw32\include\wchar.h -- undefined reference to `__gxx_personality_sj0'

fwprintf同様に、 - 、wprintfstd:coutなどの多くのエラーと未定義の参照があります。

設定に問題があることは確かですが、何が問題なのかわかりません。誰でも問題を見てもらえますか。

私が実行しているコードは次のとおりです。

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}
4

2 に答える 2

2

64 ビットのサポートが必要ない場合は、「codeblocks-12.11mingw-setup.exe」のダウンロードを検討
してください。独自の 32 ビット mingw がパックされており、すべてが事前構成されています。

それ以外の場合、まだ amd64 アプリをコンパイルする必要がある場合:-
D:\Mingw64 に解凍したと仮定し、[ツール チェーン実行可能ファイル] タブで、[コンパイラのインストール ディレクトリ] を [D:\Mingw64\bin] に設定し、[auto] をクリックします。 -detect は、code::blocks が見つけたものが好きかどうかをチェックします。

すべて問題なければ、残りのフィールドが次のようになっていることを確認してください:-

C compiler: x86_64-w64-mingw32-gcc.exe
C++ compiler: x86_64-w64-mingw32-g++.exe
Linker for dynamic libs: x86_64-w64-mingw32-g++.exe
Linker for static libs: x86_64-w64-mingw32-ar.exe
Debugger: GDB/CDB Debugger... 
Ressource compiler: x86_64-w64-mingw32-windres.exe
Make program: mingw32-make.exe

[Additional Paths] タブをクリックして、次の行を入力します:- (パスは、ダウンロードしたバージョン 4.7.4 の正しいパスです。4.7.3 で終わります)

D:\Mingw64\libexec\gcc\x86_64-w64-mingw32\4.7.3\ 

「ツールチェーン実行可能ファイル」のすぐ左にある「ディレクトリの検索」タブをクリックします
。次のパスを追加します。

D:\Mingw64\include
D:\Mingw64\x86_64-w64-mingw32\include
D:\Mingw64\x86_64-w64-mingw32\include\c++\4.7.3
D:\Mingw64\x86_64-w64-mingw32\include\c++\4.7.3\backward
D:\Mingw64\x86_64-w64-mingw32\include\c++\4.7.3\x86_64-w64-mingw32
D:\Mingw64\lib\gcc\x86_64-w64-mingw32\4.7.3\include

「リンカー」タブをクリックして、次のパスを追加します。

D:\Mingw64\Lib 
D:\Mingw64\x86_64-w64-mingw32\lib

そして最後に「コンパイラ設定タブ」をクリックし、「その他のオプション」をクリックして追加します:-

-m64

最後にもう 1 つ -> これらの設定をディスクに保存することを忘れないでください。
この新しい構成をテストしているときにクラッシュした場合は、クラッシュしたいと思うかもしれません!
「File->Save Everything」または code::blocks の再起動のいずれかでこれを行います (私はそう思います) 。別のインスタンスを実行することなく.

何かをコンパイルしてみて、結果を共有する

于 2013-05-26T05:00:53.597 に答える
0

平和!親愛なる兄弟、あなたにはこれが必要だと思います:

(1) std::cout << "Hello world!" << std::endl;

Code::Blocks が使用する GCC でアクセスする方法であるため、iostream.h から事前定義された関数を使用する場合は常に「std::function_name」を配置する必要があります。

(2) "using namespace std;" を省略してコンパイルしてみる あなたのコードから。私は C および C++ コードを 32 ビット Windows XP の Code::Blocks で何度もコンパイルしましたが、それができました!

(3) パスがディレクトリ「mingw\bin」に設定されていることを確認します。

(4) 64 ビットの MinGW がインストールされていて、パスがその「bin」ディレクトリに設定されていることを確認します (64 ビット用にコンパイルする場合)。デフォルトで 64 ビット用にコンパイルされます。

(5) フラグ/引数 "-m32" と "-m64" をそれぞれ 32-big と 64-big 用にコンパイルしてみてください。

于 2014-09-23T18:46:35.630 に答える