// test.cpp
#include <stdio>
using namespace std;
int main(int argc, char *argv[])
{
printf("test\n");
return 0;
}
上記コードをコンパイルしたいのですが
make -k
g++ -g -O2 -Wall -I. -c test.cpp -o test.obj
test.cpp:2:17: stdio: No such file or directory
test.cpp: In function `int main(int, char**)':
test.cpp:7: error: `printf' was not declared in this scope
test.cpp:7: warning: unused variable 'printf'
make: *** [test.obj] Error 1
make: Target `all' not remade because of errors.
となります。
#include <stdio>
using namespace std; を
#include <stdio.h>
// using namespace std;
にすれば正常に終了するのですがなぜでしょうか?
gccはMingw5.1.6からインストールしたもので、
バージョンはgcc3.4.5です。
Meadow上から実行しました。
回答よろしくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> gcc -g test.obj -o test.exe -lm
この部分が間違っています。
gccではなくg++を使ってください。
gccにすると、C++のためのライブラリがリンクされませんので。
なるほど!そうゆうことだったのですね!
ありがとうございました。
makefileをなおしてみました。
make -k
g++ -g test.obj -o test.exe -lm
Compilation finished at Sun Nov 15 14:31:55
いけました!!
これからもっと勉強します。
No.2
- 回答日時:
> 以前 Bcc32 を使っていたときは上記コードでいけてたのですが、
> gcc固有の機能なのですか?
本質的には質問者さんのコードが間違っていますが、(gccではなく)bcc32の独自仕様です。
そうだったのですかbcc32の独自仕様なのですね。
ありがとうございます。
すみません。再度おしえてください。
// test.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "test";
return 0;
}
上記のコードにしたのですが、今度は
make -k
g++ -g -O2 -Wall -I. -c test.cpp -o test.obj
gcc -g test.obj -o test.exe -lm
test.obj: In function `main':
d:/Project/独習C/test.cpp:7: undefined reference to `std::cout'
d:/Project/独習C/test.cpp:7: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
test.obj: In function `Z41__static_initialization_and_destruction_0ii':
c:/Gnu/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:77: undefined reference to `std::ios_base::Init::Init()'
c:/Gnu/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:77: undefined reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status
make: *** [test.exe] Error 1
make: Target `all' not remade because of errors.
となりました。
やはりコードが間違っているのでしょうか。
未熟物なのですみませんおしえてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
switch文のエラーについて
-
セグメンテーションフォルトが...
-
ファイル読み込みとmap処理
-
構文エラーが出ているのですが...
-
リモートデスクトップの接続元I...
-
iostream インクルード時に発生...
-
C++で縦の棒グラフ
-
snprintfが使用できない。
-
VC++で文字列から任意の文字を...
-
std::map の const 修飾について
-
このプログラミング誰か教えて...
-
vectorの中にmap
-
std::wstringのメモリリークに...
-
ヘッダーファイルがインクルー...
-
string型のフォーマット書式指...
-
winpcapを用いたプログラミング
-
C++で大量のエラーが出る
-
コンパイルできません
-
C++ basic_ostreamの拡張
-
atlbase.h と afxwin.hの同時定義
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラーが出ているのですが...
-
VC++で文字列から任意の文字を...
-
enumの値から定義名を文字列化...
-
switch文のエラーについて
-
空ENTERの判別
-
なぜ、C++の標準ヘッダをインク...
-
【C++】ヘッダ内でstringを格納...
-
C++での <iostream.h>と<iostre...
-
#include "fstream.h"
-
#define中の#のエスケープ
-
JPEGやPNGが読めるLoadImage関数
-
リモートデスクトップの接続元I...
-
CStringとString
-
string型のフォーマット書式指...
-
std::map の const 修飾について
-
VHDLのsignedとunsignedの違いは?
-
このプログラミング誰か教えて...
-
構造体配列のvectorへの変換と...
-
指定した文字を削除したい
-
構造体に決められた文字列を入...
おすすめ情報