DxLibをインクルードできない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
foo

DxLibをインクルードできない

#1

投稿記事 by foo » 3年前

はじめまして。私は今自分でゲームを作ろうとしています
そこで、さっそくDxLibをダウンロードしてインクルードしてみようとしましたが、いきなり躓きました。

[1] DxLibをインクルードするにはどうすればいいですか?
 [1.1] 自分が今行いたい事は何か 
->とりあえずDxLibをインクルードしたい

 [1.2] どのように取り組んだか(プログラムコードがある場合記載) 
ー>ファイルのパスなどを確認しましたが、コピペしているので可能性は低いはず。何度か作り直してみましたがうまくいきませんでした。

 [1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載) 
->DxLibをインクルードできない
エラー (アクティブ) ソース ファイルを開けません "DxLib.h" 1行目
エラー (アクティブ) ';' が必要です  4行目
エラー C1083 Cannot open include file: 'DxLib.h': No such file or directory 1行目

 [1.4] 今何がわからないのか、知りたいのか 
->DxLibをインクルードするときのエラーの解決

[2] 環境  
 [2.1] OS : Windows10
 [2.2] コンパイラ名 : VC++2015

[3] その他
 ・どの程度C言語を理解しているか ー>半年ほど勉強したくらいです
 ・ライブラリを使っている場合は何を使っているか ->DxLib


Cドライブの直下にDxLib_VCフォルダを作成しました。
『C/C++』→『全般』の『追加のインクルードディレクトリ』に『C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用』を指定しました
『リンカー』→『全般』の『追加のライブラリディレクトリ』にも『C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用』を指定しました


コードは
http://dxlib.o.oo7.jp/use/dxuse_vs2015express.html#R5
ここにあるものをそのままコピペしました

コード:

#include "DxLib.h"

// プログラムは WinMain から始まります
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	if (DxLib_Init() == -1)		// DXライブラリ初期化処理
	{
		return -1;			// エラーが起きたら直ちに終了
	}

	DrawPixel(320, 240, GetColor(255, 255, 255));	// 点を打つ

	WaitKey();				// キー入力待ち

	DxLib_End();				// DXライブラリ使用の終了処理

	return 0;				// ソフトの終了 
}

アバター
みけCAT
記事: 6247
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: DxLibをインクルードできない

#2

投稿記事 by みけCAT » 3年前

foo さんが書きました:そこで、さっそくDxLibをダウンロードしてインクルードしてみようとしましたが、いきなり躓きました。
foo さんが書きました:Cドライブの直下にDxLib_VCフォルダを作成しました。
『C/C++』→『全般』の『追加のインクルードディレクトリ』に『C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用』を指定しました
『リンカー』→『全般』の『追加のライブラリディレクトリ』にも『C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用』を指定しました
とりあえず、ダウンロードするだけじゃなくてちゃんと解凍しましたよね?
foo さんが書きました:ファイルのパスなどを確認しましたが
具体的にどのようなことを確認しましたか?
foo さんが書きました:コピペしているので可能性は低いはず。
単純な文字列比較ではなく、きちんと手元のファイルシステムと付きあわせて確認しましたか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

foo

Re: DxLibをインクルードできない

#3

投稿記事 by foo » 3年前

回答ありがとうございます


Cドライブの直下にDxLib_VCフォルダを作成しました。
『C/C++』→『全般』の『追加のインクルードディレクトリ』に『C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用』を指定しました
『リンカー』→『全般』の『追加のライブラリディレクトリ』にも『C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用』を指定しました

とりあえず、ダウンロードするだけじゃなくてちゃんと解凍しましたよね?

ー>はい。ちゃんと解凍しました
exeファイルをダブルクリックして解凍したファイルDxLib_VCをCドライブの直下においています


ファイルのパスなどを確認しましたが

具体的にどのようなことを確認しましたか?

ー>エクスプローラ?のファイルパスが表示されるところと突き合わせて確認しました



コピペしているので可能性は低いはず。

単純な文字列比較ではなく、きちんと手元のファイルシステムと付きあわせて確認しましたか?

ー>はい、確認しました



それと、プロジェクトを作り直したところエラーの内容が変わっていました
エラー LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 1行目 ファイルLIBCMTD.lib(exe_main.obj)
エラー LNK1120 1 unresolved externals 1行目  ファイルtest.exe

やはり、リンクがうまくいっていないということなのでしょうか?

アバター
プラム
記事: 164
登録日時: 6年前
住所: 東海地方

Re: DxLibをインクルードできない

#4

投稿記事 by プラム » 3年前

.libが読み込めてないっぽいですね・・・

ちゃんと文字セットなどの設定もしました?
もう一度こ↑こ↓でも見て確認しなおしてみてください。

foo

Re: DxLibをインクルードできない

#5

投稿記事 by foo » 3年前

.libが読み込めてないっぽいですね・・・

ちゃんと文字セットなどの設定もしました?
もう一度こ↑こ↓でも見て確認しなおしてみてください。

ー>
すべての構成→全般→マルチバイト文字セットを使用するに設定すればいいんですよね?

それで設定していますがエラーが出ています

一応Cドライブの直下にDxLibというファイルを作って、その中に「プロジェクトに追加すべきファイル_VC用」の中身をコピーしました

なので、「追加のインクルードディレクトリ」と「追加のライブラリディレクトリ」は「C:\DxLib」となっています

<親またはプロジェクトの既定値から継承>のところに☑を入れた方がいいのでしょうか?

エラー LNK2019 未解決の外部シンボル _main が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました。
エラー LNK1120 1 件の未解決の外部参照

アバター
へにっくす
記事: 628
登録日時: 7年前
住所: 東京都

Re: DxLibをインクルードできない

#6

投稿記事 by へにっくす » 3年前

foo さんが書きました:エラー LNK2019 未解決の外部シンボル _main が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました。
エラー LNK1120 1 件の未解決の外部参照
このエラーが出るということは、コンソールアプリケーションとして設定されているみたいです。DxLibの話ではなくなっています。

プロジェクトのプロパティを開き、
構成プロパティ > リンカー > システム
の、
サブシステムが Windows(/SUBSYSTEM:WINDOWS) になっているか確認してください。

VS 2015 で新規プロジェクトを作成するとき、「Win32 プロジェクト」のほかに「Win32 コンソール アプリケーション」があるので、その選択を間違っていたとしか思えませんね。
「Win32 プロジェクト」を選択して、手順を続行してください。
written by へにっくす

foo

Re: DxLibをインクルードできない

#7

投稿記事 by foo » 3年前

解決しました。回答してくださった、へにっくす様、ノウル様、みけCAT様、本当にありがとうございました

このエラーが出るということは、コンソールアプリケーションとして設定されているみたいです。DxLibの話ではなくなっています。

ー>まさしくその通りでした。もっとhttp://dxlib.o.oo7.jp/use/dxuse_vscom2015.htmlをよく読むべきでした。「win32コンソールアプリケーション」を選択なんてどこにも書いていませんでした。注意不足でした。

プロジェクトのプロパティを開き、
構成プロパティ > リンカー > システム
の、
サブシステムがコンソール (/SUBSYSTEM:CONSOLE)になっていました

なので Windows(/SUBSYSTEM:WINDOWS) に変更してOKを押して実行したら問題なく動きました。

新規プロジェクトで「Win32 プロジェクト」を選択して作成して、実行した場合も問題なく動きました。

本当にありがとうございました

閉鎖

“C言語何でも質問掲示板” へ戻る