ページ 11

龍神録の館で

Posted: 2013年11月21日(木) 17:47
by amehirune
初めまして。来年の文化祭に向けて、ここを参考にしつつSTG開発を進めている者です。

えっと、あれですね。
例の「プロジェクトを一括ダウンロード」で分けて頂いたファイルの1章を起動して、
「毎回描くプログラムの骨格」をmain.cppに張り付けて。
そうして実行しようとコンパイルしたら、エラーが出てきてしまいました。

これってどうなっているのでしょうか?



※捕捉※
私は授業の情報処理で習っている程度のCしかよくわかっていません。
習っているのは、「引き数と戻り値」くらいまでですかね。
とりあえず、それらはマスターしている(つもり)です。
まだ1年生なので、これからいろいろ習っていくかもしれませんが、
聞くに越したことはないので質問させていただいております。
返信よろしくお願いいたします。

質問等あればなんなりと

Re: 龍神録の館で

Posted: 2013年11月21日(木) 18:12
by usao
オフトピック
コンパイルエラーが出て困っている状況なのであれば,
そのエラーメッセージを提示した方が,有用な回答が得られやすいのではないでしょうか.

Re: 龍神録の館で

Posted: 2013年11月21日(木) 19:04
by Dixq (管理人)
コンパイルエラーのエラーメッセージを教えて下さい。

Re: 龍神録の館で

Posted: 2013年11月21日(木) 21:58
by softya(ソフト屋)
回答するのに何が必要かは既に書かれているので、別の観点から。

一番良い勉強方法は、ただ貼り付けるのではなく一命令、一行ごとに機能を理解することです。
当然ながら使われている文法も検索やら本を見るなどして調べます。
エラーが出れば勉強のチャンスで、一生懸命調べれば調べるほど理解が深まるものです。
それとDXライブラリのリファレンスも参照する必要があります。

よく分からず聞くときも、どうすれば回答が得られやすいか(回答者がほしがる情報とは?)、自分の知識の何が足りないか考えながら質問するとより有効な勉強となります。
エラーの出ないプログラミングの勉強などプログラミングしていることにはならないのです。
あと自分なりに手を加えなられない部分があるとしたら、それは分かっていない証拠です。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 20:54
by amehirune
成程、確かにそうですね。
制作と勉強を並行させてやっていこうとしていた私がバカでした。

エラー内容
だいたいすべてのファイルに関して、「includeファイルが開けません」と表示されます。
(※私は、includeファイルというと、stdio.hやstdlib.h、time.hしか使ったことがないので、初体験の世界です。)
また、main.cppに関しては、いろいろなものが「~が定義されていません」と波線表示されます。
(↑なのはVisualStudioが最新版であるためだとおもわれます)

追伸
と、いうわけで勉強メインにやっていこうと思っています。
いい感じの勉強用サイトや書籍はなんですか?
もしくは、あなたが勉強の際に参考にした書籍等を教えてください。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 21:42
by amehirune
こうしたほうが早かったですね
► スポイラーを表示
因みに、ここではプロジェクトの名前を*****としています(万一のネタバレ防止。プロジェクト名は変更済み)。

しばらく原因について勉強してみましたが、候補として
「VisualStudioが正しくインストールされていない」というものが第一に上がってきましたが、
いろいろ調べたところ、その可能性は否定されたものと思われます(100%ではない)。
ほかの原因については現在勉強中です。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 21:52
by softya(ソフト屋)
amehirune さんが書きました:成程、確かにそうですね。
制作と勉強を並行させてやっていこうとしていた私がバカでした。

エラー内容
だいたいすべてのファイルに関して、「includeファイルが開けません」と表示されます。
(※私は、includeファイルというと、stdio.hやstdlib.h、time.hしか使ったことがないので、初体験の世界です。)
また、main.cppに関しては、いろいろなものが「~が定義されていません」と波線表示されます。
(↑なのはVisualStudioが最新版であるためだとおもわれます)
「ファイルの1章を起動して」とあるので、プロジェクトから起動した場合に、そのエラーが出るのはプロジェクトがちゃんと開けていない可能性があります。
原因としては、zipファイルの解凍(展開)が不十分とも考えられます。2章のプロジェクトをそのままコンパイルしてみてください。
それでもエラーが出るなら、2013のプロジェクト変換に問題がある可能性も有るので、2012でも問題は無いと思いますので2012では試せませんでしょうか?
amehirune さんが書きました: 追伸
と、いうわけで勉強メインにやっていこうと思っています。
いい感じの勉強用サイトや書籍はなんですか?
もしくは、あなたが勉強の際に参考にした書籍等を教えてください。
私のは古すぎて参考にはなりません。MS-DOS時代以前です。
それにアセンブラからスタートしているので、同じく参考にならないと思います。

苦Cなどが少々用語などに問題がありますが有名です。
書籍だと「やさしいC」などが良いかと思います。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:02
by amehirune
返信が早かったので驚いています、アメヒルネです。
うわー…、その通りでしたぁ…(・・;
よく考えたら2章を実行するのに1章起動してどうすんだって話ですね。

しかし今度はエラーが増えた増えた(笑)

1>libpng_d.lib(pngmem.obj) : error LNK2026: モジュールは SAFESEH イメージには安全ではありません。

!?
あの…意味が…

【追記】
やさC,苦Cですか…今度図書館にあったと思うので見てみます。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:07
by みけCAT
amehirune さんが書きました:しかし今度はエラーが増えた増えた(笑)

1>libpng_d.lib(pngmem.obj) : error LNK2026: モジュールは SAFESEH イメージには安全ではありません。
これは過去ログにもよく出てくる質問ですね。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2798
オフトピック
Visual Studioは登録か課金の必要があってめんどくさいし、こんな変なエラーが出てくることがあってめんどくさいし、
Dev-C++を使えばいいのに…

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:08
by amehirune
検索結果
Microsoftのサイトより 本文をそのまま引用

/SAFESEH が指定されていますが、モジュールに安全な例外処理機能との互換性がありませんでした。このモジュールを /SAFESEH で使用する場合は、Visual C++ .NET 2003 以降のコンパイラでモジュールを再コンパイルする必要があります。

これってコンパイラが古いぞって意味なんですか?

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:11
by みけCAT
amehirune さんが書きました:検索結果
Microsoftのサイトより 本文をそのまま引用

/SAFESEH が指定されていますが、モジュールに安全な例外処理機能との互換性がありませんでした。このモジュールを /SAFESEH で使用する場合は、Visual C++ .NET 2003 以降のコンパイラでモジュールを再コンパイルする必要があります。

これってコンパイラが古いぞって意味なんですか?
「Microsoftのサイト」ではなく、具体的なURLを引用元として提示してくれるとわかりやすいです。

多分、DXライブラリをビルドした時のコンパイラが古いために起こっていると解釈できます。
自分でDXライブラリをビルドすれば、もしかしたら/SAFESEHに対応できるかもしれないと思いました。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:15
by amehirune
あ、もう投稿されてる…しかも二つ
みけCAT さんが書きました:
オフトピック
Visual Studioは登録か課金の必要があってめんどくさいし、こんな変なエラーが出てくることがあってめんどくさいし、
Dev-C++を使えばいいのに…
[/quote]

これは、DreamSpeakを使ったんですよね。

あと、DXライブラリに関して。
了解しました、やってみます。
返信ありがとうございます!!

ほかの皆様も、ご意見をよろしくお願いいたします。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:15
by softya(ソフト屋)
プログラムの環境は提供している側の想定するものよりも新しいもの使うと大抵問題を起こします。
それを乗り越える自信がない場合は指定されているバージョンを使うのが無難です。
新バージョンの機能を使うことは、そうそうないはずです。

例えばAndroidの開発環境なんても、もっとバージョンがややこしいですよ。最新にすれば良いというものではないのです。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:20
by softya(ソフト屋)
DreamSpeakを使っていても2010Expressとか2012Expressとかインストールできるはずですよ。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:24
by amehirune
お勧めのバージョンはなんですか?

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:29
by Rittai_3D
自分のお勧めは

VisualC++2008ExpressEdition

です。軽いというだけの理由です。

あとはBCCも軽いですが導入に手間取るかと思います。
オフトピック
一応
VisualC++2010ExpressEdition
も持ってますが、これは上のより重いです。
なので自分はVC++2008を使ってます。
軽さで言えばBCCも軽いです。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:32
by amehirune
2013はアンインストールしたほうがいいですかねぇ…

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:35
by みけCAT
3D_3D さんが書きました:あとはBCCも軽いですが導入に手間取るかと思います。
Dev-C++なら、インストーラ1個で普通にインストールするだけで導入できます。
コンパイラも付いています。
とりあえず最新版でいいと思います。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 22:43
by amehirune
とりあえず、ほかの皆さんの意見も聞いてみたいですね^^

時間が時間なんで、そろそろ落ちさせていただきます。
本日はどうもありがとうございました!
今後ともよろしくお願いします。

Re: 龍神録の館で

Posted: 2013年11月22日(金) 23:02
by softya(ソフト屋)
別にアンインストールしなくても共存できますよ。
2013でもプロジェクトの設定を変えて、SAFESEH:NOにすればSAFESEHのエラーは出ません。
これを悩むぐらいなら、2010とかを併用した方が良くないですか?って事ですね。
龍神録なら、2005以降ならどれでも良いのです。

C言語的には2013の方が2008よりも少し規格的に新しい機能があります。C++11にもある程度対応しています。
まぁ、解説している入門書は少ないのとC99(1999年)規格の部分対応なので実に14年以上の遅れというものですが。
ちなみにDXライブラリはC99やC++11である必要性はありません。

Re: 龍神録の館で

Posted: 2013年11月25日(月) 15:19
by amehirune
わかりました。ちょっとやってみますね。

Re: 龍神録の館で

Posted: 2013年11月25日(月) 16:43
by ISLe
いまどきのVisual C++はプロパティファイルを追加するだけでDXライブラリの設定ができるというメリットがありますけどね。
DXライブラリ専用のプロパティファイルを作っておけばDXライブラリを使う/使わないで簡単に設定を切り替えできます。
#ちなみにわたしが自分で使っているものをブログに公開しています。

2013は登録キーもありませんし。

ちなみにSAFESEHというのは、コンピュータウィルスに感染するのを防ぐための仕組みです。
とうぜん新しいほうがより安全です。
端的に言って、無効にするとコンピュータウィルスに感染しやすくなるということなので、必要以上に無効にするべきではないと思います。

記述がないので分かりませんが、2013をインストールできる時点でマシンスペックはそれなりのものではないんでしょうかね。
軽いからという理由で古いバージョンを勧めるのは意味が無いような。

Re: 龍神録の館で

Posted: 2013年11月27日(水) 16:04
by amehirune
そうなんですか…

ところで、その↑のやつをOFFにする方法とは?
いったいどうすればいいのでしょうか?

Re: 龍神録の館で

Posted: 2013年11月27日(水) 18:00
by ISLe
amehirune さんが書きました:ところで、その↑のやつをOFFにする方法とは?
いったいどうすればいいのでしょうか?
DXライブラリの公式サイトに書かれているDXライブラリの使い方に記述があります。
こちらは2012を対象として書かれていますが2013でも同じです。
http://homepage2.nifty.com/natupaji/DxL ... press.html
『4.DXライブラリを使用するためのプロジェクトの設定を行う』
の11番目に書かれています。

公式サイトには開発環境ごとにDXライブラリを使うために必要な手順を具体的に説明したページが用意されています。

Re: 龍神録の館で

Posted: 2013年12月02日(月) 15:57
by amehirune
テスト前につき失踪しておりました、申し訳ありません。
試験が終わりましたら、やってみます!!

Re: 龍神録の館で

Posted: 2013年12月04日(水) 12:12
by amehirune
ためしに2013をアンインして、2008を入れてやってみました。
できました。

皆さん、ありがとうございました!!