• 締切済み

Visual C++でC言語の基礎学習

Visual C++を使ったC言語についての質問です。 (アプリケーションの作成ではなく、コマンドプロンプト上で起動する基礎的な文法の学習です) Win32コンソール プロジェクトを作成し、そのプロジェクトの中でCのソースファイルを作成して実行確認をしようと思っています。 プロジェクト内のソースファイルが1つだけだと正常にビルドできますが、2つ以上のソースファイルを作成してビルドすると 「1 つ以上の複数回定義されているシンボルが見つかりました。」 というエラーがでてしまい、実行することができません。 新たにWin32コンソール プロジェクトを作成し、その中でソースファイルを作成しなければ実行できないのでしょうか? よろしくお願いします。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>プロジェクト内のソースファイルが1つだけだと正常にビルドできますが、2つ以上のソースファイルを作成してビルドすると >「1 つ以上の複数回定義されているシンボルが見つかりました。」 >というエラーがでてしまい、実行することができません。 その2つのソースファイルそれぞれにmain()がありませんか? プロジェクトでは最終的に複数のソースファイルから1つのEXEやDLLを作成することになりますので、 特に設定を変更していない状態ならば各ソースファイルからコンパイルされたオブジェクトファイルをリンクします。 よって… >新たにWin32コンソール プロジェクトを作成し、その中でソースファイルを作成しなければ実行できないのでしょうか? ということになります。

  • _himajin_
  • ベストアンサー率65% (128/195)
回答No.1

同じ名前のグローバル変数や関数を2つのファイルで定義してませんか? たとえば↓みたいな感じで。 aaa.c: int global_var; /* どこからでも見える変数 */ bbb.c: int global_var; /* どこからでも見える変数 */ これに該当する場合は、名前を変えるか、staticを付けて別なファイルからは見えないようにしてやるか、またはグローバル変数ではなく関数内ローカルな変数にすることなどで解決します。 aaa.c: static int global_var; /* aaa.c の中からしか見えない */ bbb.c: static int global_var; /* bbb.c の中からしか見えない */

関連するQ&A

  • Visual C++ 2010 について

    プログラミングを始めようとVisual C++ 2010をインストールしました。 さっそく新規作成→プロジェクト→全般→空のプロジェクト→Sample01でファイルを作りました そのあと追加→新しい項目→コード→C++ファイル→Sample01.cとしてソースコードを次のように入力しました #include <stdio.h> {    int main(void) printf("ようこそ"\n"); return 0: } このあとソリューションのビルドをしてからデバック開始をしたら、一瞬コマンドプロンプトが開いたと思ったらすぐ閉じてしまいます。 学校の課題をやりたいの出来ません 泣 回答よろしくおねがいします!!

  • Visual C++ 2010 Expressについて質問です

    Visual C++ 2010 Expressについて質問です Visual C++ 2010 Expressを用いてopenCVを使ったプログラムを作成したいと考えています そこで、インクルードファイルの設定やライブラリファイルの設定を以下のサイトの通りにしたのですが http://d.hatena.ne.jp/blono/20100501 うまくいきません Visual C++ 2008 Expressでは通っていたものをコピーしてビルドしたところ デバッガをVisual Studio 2005のものを使われようとしていました 上記のサイトではWin32プラットフォームアプリケーションにする場合とありましたが Win32コンソールアプリケーションで実行させたい場合にはどうしたらよいでしょうか? 言葉足らずだとは思いますがよろしくお願いします

  • cppファイルを直接visual studioで開き、ビルドするには?

    cppファイルを直接visual studioで開き、ビルドするには? 私はvisual studio 2008を使ってプログラミングをしています。 いつもみたいに、プロジェクト作成→cppファイル作成って流れでやると普通に(ビルドやデバッグが)できるのですが、 プロジェクトを作成せず、裸のcppファイルだけをvisual studioで開くと、ビルドとか何もできません。実行して、コンソール画面を出したいのですが…。 出来る方法はあるのでしょうか? また、どうしてこの方法ではできないのかも、教えてくれるとありがたいです。 よろしくお願いします。

  • Visual Studio で実行ファイルが作れません

    C言語の勉強のため、VisualStudio2005standard を初めて使い始めましたが、ビルドできたのに実行ファイルができません。 ファイル→新しいプロジェクト→プロジェクトの種類→VCC++→win32→コンソールアプリケーション→プロジェクト名の入力→アプリケーションの設定→完了 このように操作したら、ソースフォルダの下に拡張子 .cpp のC++のひな形ができたので、それにソースを書いて、拡張子を .c に替えて保存し、ビルドしたらエラーはありませんでした。 しかし、オブジェクトファイルまたは実行ファイルは作成されていず、メニューの実行コマンドも無効の表示で、実行できませんでした。 操作の誤り、何らかの設定の必要があればご指摘いただきたいです。 よろしくお願いします。

  • Visual C++ 2005(Beta) の使い方について

    Visual C++ 2005(Beta) を使ってCで書いたプログラムを実行させようとしても、うまく行かなくて困っています。File,Project,Console Application(.net)と選択して、次にどうやってソースコードを書けばよいのでしょうか? また、その後のbuildはどれを選択すればよいのでしょうか? helpもあまり機能していないようなのです。よろしくご指導お願いします。

  • 本当に第一歩から躓いていますがVisual C++2008で

    本当に第一歩から躓いていますがVisual C++2008で の設定の仕方どうプログラムを書くまでの手順を細かく教えて下さると嬉しいです 仕様が変わっているのかサイトに書いてある手順でやってもエラーになり、どうしていいか わかりません プロジェクト新規で作る (win32コンソールアプリケーション、コンソール、空のオブジェクト) ファイル作る (c++のソースで) これ貼り付けてF5実行 エラーでる・・ #include <iostream.h> int main() { cout << "やぁ、こんちは。" << endl; return 0; }

  • visual c++環境でのコンソールアプリ実行について。

    visual c++の開発環境を使ってC言語の勉強をしようと思っています。 下記のような手順でデバッグを実行しようと思っているのですが、上手くいかずこまっています。 1 Sample.cを、あらかじめ、/Visual C++ 2005/Projects/Sample/Sample.cのように格納しておく。 2 統合開発環境で、「ファイル」→「新規作成」→「既存のコードからプロジェクトを作成」を選択する。 3 既存のコードからプロジェクトを作成ウインドウが開き、「作成するプロジェクトの種類を入力してください」が「Visual C++」になっているので、そのまま「次へ」をクリックする。 4 プロジェクトの場所とソースファイルの指定ウインドウで、「参照」ボタンを利用して、「プロジェクトファイルの場所」欄に、「・・・/Projects/Sample」と入れ、「プロジェクト名」欄に「Sample」と入力する。「次のフォルダからプロジェクトにファイルを追加します」のチェックをそのままにして、「次へ」をクリックする。 5 プロジェクト設定の指定ウインドウで、「プロジェクトのビルド方法」の「Visual C++を使用する」のチェックをそのままにし、「プロジェクトの種類」を「コンソールアプリケーション」にする。それ以降にはチェックを付けないで、「完了」をクリックする。 6 統合開発環境の「ソリューションエクスプローラ」部から「Sample.c」を選んでダブル・クリックすると、コードが表示される。 7 これでデバッグするとコンソール(Visual c++のDOS窓)が一瞬表示され消えてしまいます。 間違っている所やこのようにしたらなど、意見よろしくお願い時ます。

  • Visual C++ 5.0では出て来ないウィンドウ

    Visual C++ 5.0では出て来ないウィンドウ Visual C++ 6.0 Standard Editonの中古ソフトを買おうと思っていますが、 「ファイル」メニュー→「新規作成」項目→「新規作成ウィンドウ」→「プロジェクト」タブで、 「Win32 Application」又は「Win32 Dynamic-Link Library」を選択して「OK」ボタンを押した後に、 「Win32 Application-ステップ1/1」ウィンドウと「新規プロジェクト情報」ウィンドウ 又は 「Win32 Dynamic-Link Library-ステップ1/1」ウィンドウと「新規プロジェクト情報」ウィンドウ が出て来るかどうか教えて頂けませんか? プリコンパイル済みヘッダーファイルとプリコンパイル済みソースファイルが自動作成されるかどうかも教えて下さい。 Visual C++ 5.0を持っているのですがこれらのウィンドウが出て来ないしプリコンパイル済みヘッダーファイルとプリコンパイル済みソースファイルも自動作成されないので困っています。 書店で売っている書籍が殆どVer6.0対応なので初心者にはVer5.0対応やVer2008では分かりません。

  • FindFirstFileについて教えてください。

    Visual Studio C++ 2010 Expressを利用して、C言語のプログラムを作成しています。 その中でFindFirstFileを使っています。 Visual Studio上でWin32コンソールアプリのプロジェクトを作成して、このプログラムをコンパイルしました。 プロジェクトのプロパティは変更していません。 コンパイルしたものを実行すると戻り値としてINVALID_HANDLE_VALUEが返ってきて、ファイルのリストを取得できませんでした。 一方で、コマンドプロンプト上でMakefileを作成し、同じソースをコンパイルした場合は、ファイルのリストを正常に取得することが出来ます。 従いまして、おそらくプログラムは問題ないと思います。 Visual Studioのプロジェクトで、何かプロパティの設定が必要でしょうか? 実行環境は、Windows7 64-bitです。 何かご存知の方いらっしゃいましたら、教えて頂けますか?

  • すっごく困ってます(プログラミング超初心者)Visual Studioについて

    情報学科じゃないのですが、大学の授業でC言語を取っていて明日がレポートの締切日です。 授業では、Microsoft Visual Studio.NET2003を使っているので、これに似たソフトMicrosoft Visual Studio.NETが父が勝手に入れたのか、幸いにもすでに入っていたので、家のパソコンでプログラミングをやろうと思ってました。ところが家のパソコンで学校と同じようにやろうとしてもうまくビルドができません(泣)前回のレポートの時は上手くいったのですが…。だれか教えてください。本当にお願いします!!!!! ちなみに、授業では、 「Microsoft Visual Studio.NET」を開き 新規作成→Visual C++プロジェクト→Win32コンソールプロジェクト→空のプロジェクト→完了 新しい項目の追加→C++ファイル→名前の入力(XXX.c) と、毎回わけも分からずやっており、そこから、プログラムを書いてビルドしてデバッグして勉強しております。しかし私が家で同様のことをやっても、ビルドの時点で error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 _WinMainCRTStartup で参照されました。 fatal error LNK1120: 外部参照 1 が未解決です。 とでるだけで、全くビルド自体ができません。 何かの設定が抜けているのでしょうか?どうすればよいのでしょうか?別のやり方でも良いので、Cのプログラムの作り方を教えてください!!!!!

専門家に質問してみよう