ビルドできない。
Re:ビルドできない。
すいません追記です。
”_WinMain@16はすでに1枚めのタブで定義されています。”の部分ですが、実際には、
”_WinMain@16はファイル名.objで定義されています。”と出てきてました。すいません。また、ファイルをまたいだ別のスクリプトも、同様に一枚目のタブのスクリプトが入っているファイル名.objで定義されていると出てきます。
”_WinMain@16はすでに1枚めのタブで定義されています。”の部分ですが、実際には、
”_WinMain@16はファイル名.objで定義されています。”と出てきてました。すいません。また、ファイルをまたいだ別のスクリプトも、同様に一枚目のタブのスクリプトが入っているファイル名.objで定義されていると出てきます。
Re:ビルドできない。
WinMainが2つありませんか?
あと、開発環境を書いておいてください
//===============================================================
ビジュアルC++とありますね
もう少し詳しく書くとフォローしてくれる方があらわれるかもしれません
失礼しました

あと、開発環境を書いておいてください
//===============================================================
ビジュアルC++とありますね
もう少し詳しく書くとフォローしてくれる方があらわれるかもしれません
失礼しました

Re:ビルドできない。
エラーのままだと思います。
WinMainが2つ以上定義されていることが原因と思われます。
まあ2010は使ったことないので、詳しいことは分かりませんが。
WinMainが2つ以上定義されていることが原因と思われます。
まあ2010は使ったことないので、詳しいことは分かりませんが。
Re:ビルドできない。
ゲームプログラミングの館から画像をお借りしてきました。
http://dixq.net/g/00.html
画面の中にWinMainと言うのが見えると思います。
こんなやつ↓
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
これは1つのプロジェクトに1つしか許されません。
>”_WinMain@16はファイル名.objで定義されています。”と出てきてました。すいません。また、ファイルをまたいだ別のスクリプトも、同様に一枚目のタブのスクリプトが入っているファイル名.objで定義されていると出てきます。
このエラーは、WinMain関数が2つある場合に出るエラーですので、2つあるタブと言うのにそれぞれWinMainがある状況じゃないでしょうか?
解決方法は2つ以上作らないことなのですが、何をしたくてこうなってしまったか書いてもらえるとアドバイスがしやすいです。参考にしているサイトを書いてもらった方が良いですね。
http://dixq.net/g/00.html
画面の中にWinMainと言うのが見えると思います。
こんなやつ↓
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
これは1つのプロジェクトに1つしか許されません。
>”_WinMain@16はファイル名.objで定義されています。”と出てきてました。すいません。また、ファイルをまたいだ別のスクリプトも、同様に一枚目のタブのスクリプトが入っているファイル名.objで定義されていると出てきます。
このエラーは、WinMain関数が2つある場合に出るエラーですので、2つあるタブと言うのにそれぞれWinMainがある状況じゃないでしょうか?
解決方法は2つ以上作らないことなのですが、何をしたくてこうなってしまったか書いてもらえるとアドバイスがしやすいです。参考にしているサイトを書いてもらった方が良いですね。
Re:ビルドできない。
参考にしているのは、このサイトのプログラミングの館の方です。
サンプルスクリプト2つを一つにまとめたくて、タブに開きながら作業していたのですが、実行しようとしても上手くいかなかった。ということです。正直片方が実行できればいいので、現在はプログラムを片方メモ帳に移して作業しているのですが、今後複数のスクリプトを一つのプロジェクトにまとめたいときのためにここに質問させていただきました。どうすれば一つのプロジェクトの中で複数のスクリプトを実行できるように出来ますか?
分かりにくいので言葉を足させていただくと、トップのスクリプトから、条件で別のスクリプトに飛んで別の処理をするようなソフトを作りたいのです。丁度ゲームなんかだと、メニューから選んだ項目によってぜんぜん別のことをしますよね。そういうスクリプトを一つの.ccpのファイルに入れると見辛くなりそうなので。
サンプルスクリプト2つを一つにまとめたくて、タブに開きながら作業していたのですが、実行しようとしても上手くいかなかった。ということです。正直片方が実行できればいいので、現在はプログラムを片方メモ帳に移して作業しているのですが、今後複数のスクリプトを一つのプロジェクトにまとめたいときのためにここに質問させていただきました。どうすれば一つのプロジェクトの中で複数のスクリプトを実行できるように出来ますか?
分かりにくいので言葉を足させていただくと、トップのスクリプトから、条件で別のスクリプトに飛んで別の処理をするようなソフトを作りたいのです。丁度ゲームなんかだと、メニューから選んだ項目によってぜんぜん別のことをしますよね。そういうスクリプトを一つの.ccpのファイルに入れると見辛くなりそうなので。
Re:ビルドできない。
タイトル、本編、エンディングなどを別々のファイルにまとめたいと言うことであれば、シエル さんも書いているファイル分割と言う技法が必要となります。
検索キーワードとしては「ファイル分割 C言語」が適切だと思います。
ただ、このファイル分割のためにはC言語の関数の仕組みをちゃんと理解している必要があります。
WinMainって辺りから調べてみてください。
ちなみC言語などのコンパイル型のプログラム場合はプログラムのコードをスクリプトと呼ばずにソースコードと呼びます。プログラムコードをスクリプトと呼ぶのは、HSP,javascript,PHP,Perl,Ruby,Phythonなどインタプリタ型言語が一般的でしょうか。
検索キーワードとしては「ファイル分割 C言語」が適切だと思います。
ただ、このファイル分割のためにはC言語の関数の仕組みをちゃんと理解している必要があります。
WinMainって辺りから調べてみてください。
ちなみC言語などのコンパイル型のプログラム場合はプログラムのコードをスクリプトと呼ばずにソースコードと呼びます。プログラムコードをスクリプトと呼ぶのは、HSP,javascript,PHP,Perl,Ruby,Phythonなどインタプリタ型言語が一般的でしょうか。
Re:ビルドできない。
>すいません。winmainの前にexternを入れればいいって事ですか?出来れば回答ください。
これもC言語の基礎の問題なのですが、同じ名前の関数は1つしか存在できません。
※関数名のスコープ次第では例外あり。
なのでWinMainが2つ存在する時点でアウトです。
これもC言語の基礎の問題なのですが、同じ名前の関数は1つしか存在できません。
※関数名のスコープ次第では例外あり。
なのでWinMainが2つ存在する時点でアウトです。
Re:ビルドできない。
あ、はい。今ググって来ました。で、ちょっと質問なんですけど、今typedef structって言うので、幾つかの変数をまとめてWinMainの外で宣言しています。これは分割した方ではexternを頭につけて宣言すれば良いのでしょうか。
Re:ビルドできない。
VCで複数のソースコードを開いて編集したいと言う事ですよね?
そしてそれぞれのソースコードにはWinMainがあると。
結論としては、1つのソリューションに複数のプロジェクトを追加し、
それぞれのプロジェクトが1つずつWinMainを含むようにすればよいです。
softyaさんの添付してくれたファイルで説明すると、
画面左のソリューションエクスプローラでは、
1つのソリューション'DxLib'を開いていますが、
ソリューション'DxLib'は1つのプロジェクト'DxLib'を持っています。
プロジェクト'DxLib'はソースコード'test.cpp'を持っていて、
ソースコード'test.cpp'が関数WinMainを持っています。
既に他の方が説明されているとおり、1つのプロジェクトには
1つのWinMainしか存在してはいけません。
2つのWinMainを含むファイルを同時に管理したい場合、
プロジェクトを追加してください。
ソリューションエクスプローラの『ソリューション'DxLib'』
と書いてある所で右クリックすると、プロジェクトの追加が選択できます。
別の方法として、プロジェクトとは関係ないファイルをVCで開くこともできます。
現在のエラーの内容から、ソリューションエクスプローラから2つのファイルが
見えていると思いますが、そこへの追加は本当に必要な方のみとして、
参考のために開くファイルは、メニューのファイル-開くから開きます。
さらに別の方法として、ソリューションエクスプローラでファイルを選び、
右クリックのプロパティで、そのファイルだけビルドしない設定にすることもできます。
用途に合わせて色々試してみて下さい。
VC以外のテキストエディタで開く、というのも、用途によっては正解の1つです。
さすがにメモ帳よりも良いエディタを使う人が殆どですが。
そしてそれぞれのソースコードにはWinMainがあると。
結論としては、1つのソリューションに複数のプロジェクトを追加し、
それぞれのプロジェクトが1つずつWinMainを含むようにすればよいです。
softyaさんの添付してくれたファイルで説明すると、
画面左のソリューションエクスプローラでは、
1つのソリューション'DxLib'を開いていますが、
ソリューション'DxLib'は1つのプロジェクト'DxLib'を持っています。
プロジェクト'DxLib'はソースコード'test.cpp'を持っていて、
ソースコード'test.cpp'が関数WinMainを持っています。
既に他の方が説明されているとおり、1つのプロジェクトには
1つのWinMainしか存在してはいけません。
2つのWinMainを含むファイルを同時に管理したい場合、
プロジェクトを追加してください。
ソリューションエクスプローラの『ソリューション'DxLib'』
と書いてある所で右クリックすると、プロジェクトの追加が選択できます。
別の方法として、プロジェクトとは関係ないファイルをVCで開くこともできます。
現在のエラーの内容から、ソリューションエクスプローラから2つのファイルが
見えていると思いますが、そこへの追加は本当に必要な方のみとして、
参考のために開くファイルは、メニューのファイル-開くから開きます。
さらに別の方法として、ソリューションエクスプローラでファイルを選び、
右クリックのプロパティで、そのファイルだけビルドしない設定にすることもできます。
用途に合わせて色々試してみて下さい。
VC以外のテキストエディタで開く、というのも、用途によっては正解の1つです。
さすがにメモ帳よりも良いエディタを使う人が殆どですが。
SLGを作成中ですが、DirectX周りがうまく動作しないです
現在SLGを製作中なのですが、マウスの位置情報の取得がどうも少しずれてて
うまくクリック処理ができないのです
下にできてるものをアゲておきます
メッセージボックスの嵐がでたらESC押しっぱなしで抜けてください
http://www1.axfc.net/uploader/Sc/so/151229
問題はというと2つあります
1つは、マウスの位置情報が少しずつ下にいくにつれてずれていくことです
2つめは、800x600の領域だと画面の更新(Flip)が行われるのですが、
1024x768だと、あまった部分の画面の更新がされないということです
DxDraw3を使ってるから、サポートしてないのかなぁとか思いつつも
調べる手段もなく困ってます
助言をいただけると助かります

うまくクリック処理ができないのです
下にできてるものをアゲておきます
メッセージボックスの嵐がでたらESC押しっぱなしで抜けてください
http://www1.axfc.net/uploader/Sc/so/151229
問題はというと2つあります
1つは、マウスの位置情報が少しずつ下にいくにつれてずれていくことです
2つめは、800x600の領域だと画面の更新(Flip)が行われるのですが、
1024x768だと、あまった部分の画面の更新がされないということです
DxDraw3を使ってるから、サポートしてないのかなぁとか思いつつも
調べる手段もなく困ってます
助言をいただけると助かります

Re:SLGを作成中ですが、DirectX周りがうまく動作しないです
解決しました
1つめは、#define の座標指定の数字が微妙に間違ってました
2つめは、この画面での画面領域設定が一箇所だと思ってましたが、複数箇所にありました
1つめは、#define の座標指定の数字が微妙に間違ってました
2つめは、この画面での画面領域設定が一箇所だと思ってましたが、複数箇所にありました