合計 昨日 今日

eclipseでDXライブラリを使う

[このトピックは解決済みです]

フォーラムルール
フォーラムルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Name: OLDボーイ
[URL]
ぴよぴよ(555 ポイント)
Date: 2017年11月30日(木) 00:11
No: 1
(OFFLINE)

 eclipseでDXライブラリを使う

はじめまして、8,9年前からプログラミングを始めましたがまだまともなプログラムは書けてません(画像表示、回転、移動)
以前に龍神録プログラミングの館10章までは書いてました
しばらく余裕がなくプログラミングができなくて間ができてしまいました
さらにこの一年で生活環境が変わり、ネット契約も変わりました
そこで壊れて新しくしたPCでプログラミングをしたいと思ってVisual Stdio2017をインストールしようと調べたらとてもデータ量が多いので、
生活環境の変化時にネット契約が変わり家庭で使えるデータ量がひっ迫してしまいます、どうしても小学校からの夢であるゲームプログラミングがとてもあきらめきれず何とかできないかと調べてみるとeclipseというIDEが容量は何とか大丈夫でインストールしました、肝心のDXライブラリを設定するところで困りビルドができませんでした以下に詳細を書きます。
箇条書きになってしまいますが読んでもらえると助かります

MinGW ver 6.3.0をインストール後のbeseとgcc-c++もダウンロード
eclipse ver Oxygen.1a (4.7.1a)をインストール
DxLib_GCCをCドライブ直下に解凍

eclipseで新規c++ empty projectを作成
Project Propertiesの中の[Path and symbols][Includesタブ]addボタンで[C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686]を登録時に[add all configrations],[add all languages]にチェックを入れる
[Path and symbols][libraries pathsタブ]addボタンで[C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686]を登録時に[add all configrations],[add all languages]にチェックを入れる

C/C++ Build [Setting][Tool Settingタブ]の[MinGW C++ Linker][Libraries]を開いて[Libraries(-l)]のリストに-lDxLib、-lDxUseCLib、-lDxDrawFunc、-ljpegなどを-lwを抜きで入力(-lを付けたら-lがおかしいとエラーが出ます)
同[Tool Settings]の[Library Search Path (-L)]のリストにも[C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686]を登録しました


ここまでやったらDxLib.hは認識しましたが int WINAPIからsyntax error(構文エラー)と出てビルドできませんでした

C++でDXライブラリを使ってプログラミングをするにはeclipseしかありません(もし無料であれば教えてください)
プログラミングを再開したいのでどうかご協力お願いします
添付ファイル
eclipse.png
eclipse.png (107.03 KiB) 表示数: 264 回

Name: OLDボーイ
[URL]
ぴよぴよ(555 ポイント)
Date: 2017年11月30日(木) 09:19
No: 2
(OFFLINE)

 Re: eclipseでDXライブラリを使う

再起動したら構文エラーが消えてコンパイルすると参照が未定義と出て前回とは違うエラーが出ました
i686が32ビットだとわかったのでDXライブラリ内の最新の5_3_0に変えてみました
古いバージョン用にしても同じエラーでした(改めて設定しなおした、現在と以下のログは5.3.0を指定してます)
以下が出力されたログです(3分の一で他DxGraphicsWin.cppやDxFontWin.cppなどが出ています)

コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Info: Internal Builder is used for build
g++ "-LC:\\DxLib_GCC\\プロジェクトに追加すべきファイル_GCC(MinGW)用\\5_3_0_i686" -o "DxLib template.exe" main.o -lDxLib -lDxUseCLib -lDxDrawFunc -ljpeg -lpng -lzlib -ltiff -ltheora_static -lvorbis_static -lvorbisfile_static -logg_static -lbulletdynamics -lbulletcollision -lbulletmath -lopusfile -lopus -lsilk_common -lcelt
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x16f0): undefined reference to `DeleteObject@4'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x1708): undefined reference to `DeleteDC@4'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x2467): undefined reference to `CreateCompatibleDC@4'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x250d): undefined reference to `CreateDIBSection@24'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x253d): undefined reference to `GetObjectA@12'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x2581): undefined reference to `SelectObject@8'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x25eb): undefined reference to `SetDIBitsToDevice@48'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x25fe): undefined reference to `SelectObject@8'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x2608): undefined reference to `DeleteDC@4'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x2672): undefined reference to `DeleteObject@4'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x6b9d): undefined reference to `CreateCompatibleDC@4'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x6d56): undefined reference to `CreateDIBSection@24'
C:\DxLib_GCC\プロジェクトに追加すべきファイル_GCC(MinGW)用\5_3_0_i686/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x6d83): undefined reference to `GetObjectA@12'

Name: みけCAT
[URL]
伝説なるハッカー(685,415 ポイント)
Date: 2017年11月30日(木) 22:29
No: 3
(ONLINE)

 Re: eclipseでDXライブラリを使う

Windowsの基本的なライブラリがリンクされていないようなので、コンパイルオプションに-mwindowsを加えると改善するかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Name: OLDボーイ
[URL]
ぴよぴよ(555 ポイント)
Date: 2017年12月01日(金) 09:45
No: 4
(OFFLINE)

 Re: eclipseでDXライブラリを使う

[解決!]

みけCATさん、オプションの-mwindowsをpropertiesのC++build(だったかな)のSetting,miscellaneousに書くとビルド出来ました!
これでプログラミングを再開できます!
ありがとうございました!


Return to C言語何でも質問掲示板

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[12人]