調べても分からないことがあるので、質問させて頂きます。
龍神録についてですが、例えば50章のmain.cppに
#include "../include/GV.h"
と書いてあると思うのですが、../include/とはどういうことでしょうか?
#include "GV.h"
ではダメなのでしょうか?
変な質問だとは思いますが、よろしくお願いします…
龍神録プログラミングについて
Re: 龍神録プログラミングについて
#include "../include/GV.h"
とはひとつ前のフォルダ(mydat)にあるincludeフォルダの中のGV.hというファイルをインクルードするという意味です。
龍神録プログラミングの館のプロジェクトは
cppファイルはsourceフォルダ、hファイルはincludeフォルダと別のフォルダに分けてあるのでそう書く必要があります。
cppファイルとhファイルを同じフォルダに置いてあるのであれば
#include "GV.h"
と書くことになります。
とはひとつ前のフォルダ(mydat)にあるincludeフォルダの中のGV.hというファイルをインクルードするという意味です。
龍神録プログラミングの館のプロジェクトは
cppファイルはsourceフォルダ、hファイルはincludeフォルダと別のフォルダに分けてあるのでそう書く必要があります。
cppファイルとhファイルを同じフォルダに置いてあるのであれば
#include "GV.h"
と書くことになります。
Re: 龍神録プログラミングについて
#include "../include/GV.h"
ではダメな理由ならあります。
ソースコードで相対パスを使うとディレクトリ構成が固定化されてしまいます。
基準ディレクトリの指定はコンパイルオプション(プロジェクト設定)で行うべきです。
ソースコードの中では
#include "GV.h"
と書いて
プロジェクト設定の追加のインクルードパスに
../include/
を加えていれば
最新のDXライブラリを使いたいと思ったとき、
公式サイトの説明通りにDXライブラリを展開したら
プロジェクト設定の追加のインクルードパスを
../include/
から
C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用
に一箇所変えるだけで済みます。
ではダメな理由ならあります。
ソースコードで相対パスを使うとディレクトリ構成が固定化されてしまいます。
基準ディレクトリの指定はコンパイルオプション(プロジェクト設定)で行うべきです。
ソースコードの中では
#include "GV.h"
と書いて
プロジェクト設定の追加のインクルードパスに
../include/
を加えていれば
最新のDXライブラリを使いたいと思ったとき、
公式サイトの説明通りにDXライブラリを展開したら
プロジェクト設定の追加のインクルードパスを
../include/
から
C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用
に一箇所変えるだけで済みます。
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 龍神録プログラミングについて
Ver 3.04dって古すぎますね・・。定期的に更新しなければ。
Re: 龍神録プログラミングについて
GV.hは龍神録独自のヘッダであり、DXライブラリには含まれないはずです。ISLe() さんが書きました:ソースコードの中では
#include "GV.h"
と書いて
プロジェクト設定の追加のインクルードパスに
../include/
を加えていれば
最新のDXライブラリを使いたいと思ったとき、
公式サイトの説明通りにDXライブラリを展開したら
プロジェクト設定の追加のインクルードパスを
../include/
から
C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用
に一箇所変えるだけで済みます。
したがって、#include "GV.h"と書いてプロジェクト設定の追加のインクルードパスから../include/を外すと、ディレクトリ構成を変えなければGV.hが見つからず、コンパイルエラーになる可能性が高いです。
よって、この記述は誤りだと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 龍神録プログラミングについて
あー確かにそうですね。みけCAT さんが書きました:GV.hは龍神録独自のヘッダであり、DXライブラリには含まれないはずです。
したがって、#include "GV.h"と書いてプロジェクト設定の追加のインクルードパスから../include/を外すと、ディレクトリ構成を変えなければGV.hが見つからず、コンパイルエラーになる可能性が高いです。
よって、この記述は誤りだと思います。
#そもそも..をパスに含めるから面倒くさいことになるんですよ。