質問したいことがあるのですが
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デコンパイル?について
-
VBAを何回も作り直して、容量が...
-
1 つ以上の複数回定義されてい...
-
コンパイルエラー:ユーザ定義...
-
Makefile作成時の拡張子.oとは?
-
右クリックメニューについて
-
セミコロンについて
-
エクセルVBAではRound...
-
” OS ビルド ” の意味が分か...
-
クリティカルエラー Expressio...
-
[c++] <pthread.h>がinclude で...
-
VMwareのLinuxでコンパイルでき...
-
「fatal error C1189」を回避す...
-
C++コンパイル時に『 C1083: in...
-
C++のhppファイルをCでinclude
-
プログラミング
-
C/C++の文法チェックツール
-
CImageクラスの使用について
-
不要な #include
-
Visual C++のこのエラーはどう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
ILSpyで、デコンパイルできない。
-
1 つ以上の複数回定義されてい...
-
外部シンボル "_main"は未解決です
-
セミコロンについて
-
C言語でヘッダファイルにグロー...
-
” OS ビルド ” の意味が分か...
-
マクロ コンパイルがグレーバック
-
【VC++6.0(MFC)】警告「LINK : ...
-
クリティカルエラー Expressio...
-
PRO*C コンパイルエラー
-
[c++] <pthread.h>がinclude で...
-
<math.h>があるのにsqrtが・...
-
ビルドとリビルドの違いを教え...
-
CImageクラスの使用について
-
戻り値について
-
コンパイルエラー:ユーザ定義...
おすすめ情報