ページ 11

VC++でmath.hが使えない

Posted: 2011年5月21日(土) 16:56
by はまとく
久しぶりの質問です。相変わらず初歩的な質問で申し訳ありません。
VC++でプログラムを作っていて、数学関数を使おうとするといつもエラーが出るので、試しに次のような簡単なプログラムを作ってみましたが、やはりエラーが出ました。

コード:

#include <math.h>
#include <stdio.h>

void main( void )
{
double x = 2.0, y = 3.0, z;

z = pow( x, y );
printf( "%.1f の %.1f 乗は %.1f です。\n", x, y, z );
}
これをビルドすると、出力に、

1>------ ビルド開始: プロジェクト: cpptest, 構成: Debug Win32 ------
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\ABC\Documents\Visual Studio 2010\Projects\cpptest\Debug\cpptest.exe : fatal error LNK1120: 外部参照 1 が未解決です。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

と出てしまいます。
OSはWin7,VC++は2010Expressです。設定等は特にいじってないと思うのですが、何がいけないんでしょうか?
回答よろしくお願いします。

Re: VC++でmath.hが使えない

Posted: 2011年5月21日(土) 17:03
by h2so5
単純にプロジェクト設定をコンソールアプリケーションにしていないだけではないかと思います。
数学関数を使わなかったらそのエラーは出ないのですか?

Re: VC++でmath.hが使えない

Posted: 2011年5月21日(土) 17:06
by hidden
エラーの内容的にはmath.hは関係ないですね WinMain関数がないよ って感じですね。

コードから考えると
プロジェクトを作るときの設定が間違っているようです。
main関数から始めるのはコンソールアプリケーションのほうなので
コンソールアプリケーションでもう一度プロジェクトから作り直してみてください。

Re: VC++でmath.hが使えない

Posted: 2011年5月21日(土) 17:29
by はまとく
すみません、C++の本を参考に簡単なプログラムを作ったと思ったらCの本でした。

普段VC++でDXライブラリを使っているときは、
Error: オーバーロードされた関数”pow”の複数のインスタンスが引数リストと一致します:
というエラーが出ることを思い出しました。(cos,sin等も同様)これはどう対処すればいいのでしょうか?

Re: VC++でmath.hが使えない

Posted: 2011年5月21日(土) 18:00
by softya(ソフト屋)
C/C++関係なくプロジェクトの新規作成段階で間違いがあります。
C言語のコンパイルは、こちらを参考にしてください。

「太田研究室 > Visual C++ 2010 Express プログラミング入門」
http://cvwww.ee.ous.ac.jp/vc10prog.html
Error: オーバーロードされた関数”pow”の複数のインスタンスが引数リストと一致します:
というエラーが出ることを思い出しました。(cos,sin等も同様)これはどう対処すればいいのでしょうか?
たしかにC++のエラーですが今回の件と違う問題です。
そのエラーが出るソースコードを見せて頂けますか?