※ ChatGPTを利用し、要約された質問です(原文:MingwでC++のソースがコンパイルできない。)
MingwでC++ソースがコンパイルできない
このQ&Aのポイント
MinGWでC++のソースコードをコンパイルする際に、エラーが発生して正常にコンパイルできません。
C言語のプログラムはコンパイルできるが、C++のプログラムはコンパイルできない現象が発生します。
WindowsのコマンドプロンプトからC++のプログラムをコンパイルしようとすると、undefined referenceなどのエラーが発生します。
質問があるのですがよろしくお願いしします。
プラットフォームは Windows HOME です。
MinGWでC++のhelloworld.cppという名前のプログラム
------ここから-----------
#include <iostream>
using namespace std;
int main(){
cout <<"Hello World!!\n";
return 0;
}
-------ここまで-----------
を、gcc helloworld.cpp とWindowsのコマンドプロンプトから打ってコンパイルしようとしたのですが、
undefined reference to std string::size() const
undefined reference to std string::operator[](using int) const
undefinrd reference to std::cout
undefinrd reference to std::basic_ostream<char, std::char traits<char> >&, char const*)
undefinrd reference to std::ios_base::Init::()
undefinrd reference to std::ios_base::~Init::()
などのエラーが出て、コンパイルできません・・
hello.cという名前のC言語プログラム
--------ここから------
#include<stdio.h>
int main(void){
printf("Hello GCC World on Windows!!\n");
}
------ここまで-------
は、gcc hello.c で正常にコンパイルでき、生成したexeファイルも正常に動きます。
また、eclipse CDT上からc++プログラムをMinGWでコンパイルすることもできるのですが・・
なぜかWindowsのコマンドプロンプトからc++プログラムをコンパイルしようとするとエラーが出てしまいます。(C言語のプログラムでもエラーが出ることが時々あります。)
どなたか詳しい方いらっしゃいましたらご教授頂けると幸いです。
よろしくお願いします。
お礼
回答ありがとうございます。 教えていただいたとおりやって解決しました。 C++のソースをコンパイルするにはg++を使わなければいけなかったのですね・・ ありがとうございましたm(_ _)m