質問したいことがあるのですが
C言語のコンパイラとしてvisual C++ を使っているのですが、1つのソースファイルの中に複数の.cファイルを作成すると
1>------ ビルド開始: プロジェクト: C言語, 構成: Debug Win32 ------
1>コンパイルしています...
1>sample.c
1>c:\users\太郎\documents\visual studio 2008\projects\c言語\c言語\sample.c(105) : warning C4101: 's3' : ローカル変数は 1 度も使われていません。
1>c:\users\太郎\documents\visual studio 2008\projects\c言語\c言語\sample.c(105) : warning C4101: 's2' : ローカル変数は 1 度も使われていません。
1>リンクしています...
1>sample2.obj : error LNK2005: _main は既に sample.obj で定義されています。
1>C:\Users\太郎\Documents\Visual Studio 2008\Projects\C言語\Debug\C言語.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。
1>ビルドログは "file://c:\Users\太郎\Documents\Visual Studio 2008\Projects\C言語\C言語\Debug\BuildLog.htm" に保存されました。
1>C言語 - エラー 2、警告 2
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
と表示されてうまく実行することができません。
一応私なりに調べて
プロジェクト→C言語のプロパティ→生成コード→DLL
で回避されると書いてあったんですがいくらその設定にしても何の問題も解決されません。
どうしたらいいですか?
No.2ベストアンサー
- 回答日時:
>1つの実行ファイル中にmain()は1つしか存在できません。
と書きましたが…main()だけとは限りませんので注意。
プロジェクトのソースが
main.c/source1.c/source2.cとあって、
それぞれにfunc()という関数を定義した場合、衝突してリンクできなくなる場合があります。
# クラスに分けていて名前空間が衝突していないとかstaticでファイル内スコープに限定するとかであれば衝突しなくて済みますが…。
# そのあたりはもっと詳しい方からの回答に期待…。
No.1
- 回答日時:
1つの実行ファイル中にmain()は1つしか存在できません。
別々のプロジェクトを作成して、別々のexeファイルになるようにしてください。
よって…
>プロジェクト→C言語のプロパティ→生成コード→DLL
>で回避されると書いてあったんですがいくらその設定にしても何の問題も解決されません。
こんなのでは回避できません。
http://www.google.co.jp/search?hl=ja&num=30&q=%2 …
複数のソースファイルに分割して、分割コンパイルを行うのであればリンク時に
>1>sample2.obj : error LNK2005: _main は既に sample.obj で定義されています。
なんてのは出ません。
# ソリューションの設定なども絡んだりするので…ソリューションごと新しく作る。という方が気楽かも知れません。
# スタートアッププロジェクトとか……。
分割コンパイルについてはこちら。
http://www.google.co.jp/search?hl=ja&num=30&q=%E …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語でヘッダファイルにグロー...
-
セミコロンについて
-
Makefile作成時の拡張子.oとは?
-
エクセルVBAではRound...
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
1 つ以上の複数回定義されてい...
-
ILSpyで、デコンパイルできない。
-
「fatal error C1189」を回避す...
-
windowsでLinuxで作成したソー...
-
[c++] <pthread.h>がinclude で...
-
複素数<complex.h>のErrorに関して
-
C++のhppファイルをCでinclude
-
マクロ コンパイルがグレーバック
-
コンパイル??
-
LoadLibraryについて
-
外部シンボル "_main"は未解決です
-
<math.h>があるのにsqrtが・...
-
c言語 文字列の比較
-
NOTIFYICONDATAについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
エクセルVBAではRound...
-
Makefile作成時の拡張子.oとは?
-
C言語でヘッダファイルにグロー...
-
ILSpyで、デコンパイルできない。
-
セミコロンについて
-
<math.h>があるのにsqrtが・...
-
クリティカルエラー Expressio...
-
外部シンボル "_main"は未解決です
-
マクロ コンパイルがグレーバック
-
[c++] <pthread.h>がinclude で...
-
C++コンパイル時に『 C1083: in...
-
【VC++6.0(MFC)】警告「LINK : ...
-
ビルドとリビルドの違いを教え...
-
コンパイルエラー:ユーザ定義...
-
VB6で開発中…標準モジュール間...
-
コンパイル??
おすすめ情報