eclipseでDXライブラリを使う

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
OLDボーイ
記事: 5
登録日時: 6年前
住所: 北海道

eclipseでDXライブラリを使う

#1

投稿記事 by OLDボーイ » 6年前

はじめまして、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

OLDボーイ
記事: 5
登録日時: 6年前
住所: 北海道

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

#2

投稿記事 by OLDボーイ » 6年前

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

コード:

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'

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

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

#3

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

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

OLDボーイ
記事: 5
登録日時: 6年前
住所: 北海道

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

#4

投稿記事 by OLDボーイ » 6年前

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

返信

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