
粒子法のMPS法のプログラミングをしているのですが、C++でmps.cをビルドをすると、cstdlibのエラーが出てビルドが出来ません。
mps.cの本文中にはエラーは無く、visual studio 9.0にあるcstdlibの構文エラーが出てしまいます。
最初から入っているライブラリファイルが間違っているとは思えません。
解決法を教えてください。お願いします。
↓ mps.c内でcstdlibを使っている場所 ↓
#include <cstdlib> /* This line is necessary for C++ compiler.
Remove this line in C compiler */
#include <stdio.h>
#include <sys/types.h>
#include <math.h>
#include <string.h>
↓ エラーメッセージ ↓
1>コンパイルしています...
1>mps.c
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':'
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。
1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':'
省略(21行目のエラーが23~32行目まで同じエラーが続く)
1>MPS3000 - エラー 62、警告 0
========== すべてリビルド: 0 正常終了、1 失敗、0 スキップ ==========
No.2ベストアンサー
- 回答日時:
#include <cstdlib> /* This line is necessary for C++ compiler.
Remove this line in C compiler */
コメントに「この行がC++コンパイラに必要です。 Cコンパイラでこの行を消してください。」と書いているので「mps.c」でCコンパイルしたいのであれば,この一行を消してみては?(解決するかわかりませんが、お試しとしてですが。)
尚,#1回答者さんはC++ソースに変更する対処案のようです。
ご回答ありがとうございます。
ご指摘された一行を消してみたら、ビルドできました。
今気付くと、以前に同様なことをやったのですが、コメントアウトの仕方が悪く、失敗していました。
これで色々試せそうです。
本当にありがとうございました。
No.1
- 回答日時:
こんばんは。
「mps.c」の拡張子を「mps.cpp」に変更してから、コンパイルして見ては如何でしょうか。
ご回答ありがとうございます。
mps.cをmps.cppに変更してやってみたのですが、mps.cpp内のエラーが100個以上発生してしまいます。
mps.cpp(130) : error C2660: 'filecheckopen' : 関数に 3 個の引数を指定できません。
mps.cpp(131) : error C2660: 'filecheckopen' : 関数に 3 個の引数を指定できません。
省略
mps.cpp(518) : error C2065: 'neigh' : 定義されていない識別子です。
mps.cpp(518) : error C2065: 'rep2' : 定義されていない識別子です。
mps.cpp(518) : error C2065: 'neigh_iccg' : 定義されていない識別子です。
mps.cpp(518) : error C2065: 'reiccg2' : 定義されていない識別子です。
mps.cpp(518) : error C2065: 'wall_type' : 定義されていない識別子です。
mps.cpp(518) : fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DLLファイルの逆コンパイラにつ...
-
プログラマー達は何故、プログ...
-
C言語の関数のextern宣言
-
卒業研究でよく分からないとこ...
-
C言語 関数、変数の宣言について
-
C言語について(初心者)
-
C言語のことです。写真(見にく...
-
Windows Formアプリからコンソ...
-
DNCL(共テ用プログラミング言語...
-
C言語について。
-
visual studio 2022でのC#プロ...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
C# で 数式文字列処理を処理す...
-
gccを行ってもexeファイルが生...
-
c言語
-
C言語 列挙型(enum型)変数について
-
C++でデスクトップGUIアプリ開...
-
c言語でイベントフラグを使った...
-
必ずyou bet と表示されます
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語
-
DLLファイルの逆コンパイラにつ...
-
Windows Formアプリからコンソ...
-
大量のデータを読み込んで表示...
-
C言語の関数のextern宣言
-
VisualStudioでC++クラスを追加...
-
【C言語】全角文字の配列を、全...
-
VisualStudio2022でC言語プログ...
-
C++でデスクトップGUIアプリ開...
-
gccを行ってもexeファイルが生...
-
C#でTreeViewのCheckBoxのサイ...
-
C#でログファイルにファイルパ...
-
プログラマー達は何故、プログ...
-
逆コンパイルと逆アセンブルの...
-
Notepad++の関数リスト表示の変...
-
C言語について。
-
Cのコンパイルでコメントアウト...
-
visual studio 2022でのC#プロ...
-
コンソールアプリを作成するの...
-
C言語 バッファについて。
おすすめ情報