質問したいことがあるのですが
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# visual studio 2019 についての質問です 1 2022/09/21 09:58
- C言語・C++・C# Switch向けにpcでc言語でゲームを作っているのですが、開発環境はWindows10のvisua 1 2022/04/02 07:04
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- Excel(エクセル) 【関数】【マクロ】データの転記の方法について 2 2023/07/26 15:22
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Excel(エクセル) 【マクロ】【VBA】同じフォルダ内にあるエクセルのデータを転記したい 2 2023/07/26 15:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
戻り値について
-
VBAを何回も作り直して、容量が...
-
ILSpyで、デコンパイルできない。
-
「fatal error C1189」を回避す...
-
windowsでLinuxで作成したソー...
-
” OS ビルド ” の意味が分か...
-
複数のサブディレクトリを一緒...
-
<math.h>があるのにsqrtが・...
-
コンパイルエラー:ユーザ定義...
-
漢字のコメントをはずすとコン...
-
エクセルVBAではRound...
-
C言語でmからnまでの合計を求め...
-
C++コンパイル時に『 C1083: in...
-
必要なDBG ファイルが見つから...
-
マクロ コンパイルがグレーバック
-
gdbデバッグのためのmakefile作成
-
不要な #include
-
RPGでプログラムからソースファ...
-
共有ライブラリの関数はヘッダ...
-
Makefile作成時の拡張子.oとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
<math.h>があるのにsqrtが・...
-
” OS ビルド ” の意味が分か...
-
Makefile作成時の拡張子.oとは?
-
「fatal error C1189」を回避す...
-
1 つ以上の複数回定義されてい...
-
ILSpyで、デコンパイルできない。
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
セミコロンについて
-
マクロ コンパイルがグレーバック
-
C++コンパイル時に『 C1083: in...
-
外部シンボル "_main"は未解決です
-
PRO*C コンパイルエラー
-
コンパイルエラー:ユーザ定義...
-
クリティカルエラー Expressio...
-
ビルドとリビルドの違いを教え...
-
RPGでプログラムからソースファ...
-
戻り値について
-
C++のhppファイルをCでinclude
おすすめ情報