質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

3回答

563閲覧

gccでDXライブラリをつかいたい

takurin

総合スコア14

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2018/07/09 00:12

gccでDXライブラリをつかいたいのですが
全く使い方がわかりません。
環境設定は、すでに大丈夫です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoorwm

2018/07/09 01:09

大丈夫なのでしたら大丈夫なのかと思いますが、どこが問題なのでしょうか?
guest

回答3

0

こんにちは。

DXライブラリはWindowsですので、恐らくWindows上の話ですね? また、gccといえばlinuxを思い浮かべることが多いですが、Windowsにもgccは移植されていてMinGWと呼ばれているので、MinGWのことですね?

MinGWでDXライブラリを使う手順が公式に記載されていますので、この手順に厳密に従ってトライしてみましょう。多くの場合はうまくいくはずです。厳密に従えない部分や、従ったけどうまくいかない部分があったらそれを具体的に記載すると的確な回答を貰える可能性が高くなりますよ。


ところで、MinGWは情報量がVC++に比べると圧倒的に少ないです。また、普通に検索するとlinux向けの情報がでてくる場合も多いです。それらについてMinGWにも適用できる情報かそうでない情報か判別するのは熟練者でも難しいケースがあります。
Windows上のプログラム開発でしたら、まずはVisual C++で熟練してからMinGWにトライした方が学習時間を大きく節約できると思いますよ。

投稿2018/07/09 03:36

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

MingwでDxLibを触るのはだいぶ面倒なのでおすすめできません。特別な理由がないならVisual Studioを使いましょう。

投稿2018/07/09 05:01

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

環境設定は、すでに大丈夫です。

人によっては「この質問自体問題ありません」みたいにも読めます。

「何が大丈夫」なのかを明示したほうがいいですよ。

質問者 = 回答者 じゃないので質問者さんが当たり前でも回答者にとっては当たり前じゃないですから。

たぶんパターンから言って、「gccはDL及びインストールされていて、gcc と打つと すぐにでも使える状態です」みたいな意味だろうけど。

以前、私もC言語 + MinGW でゲームを作ってみたいなと思って ソフト開発の後にやってみました。

そのときはMinGW向けのインストーラがあった気がしますが、なぜかうまくいかなかった... ( たぶん私のやり方がクソまずかったのが原因だろうけど。今はたぶん原因の目星はついているがめんどくさいからやらん。 )

で、訳わからんからギブアップ。ソフトのみに集中。

で、いろいろ弄っているうちに、VC++向けのスタティックリンクとやらが .lib なのに対し、MinGWでは lib.a となっている。
圧縮方法とかが違うみたい。

これが原因かもしれない。

解決方法1: VC++向けスタティックリンクを MinGW向けスタティックリンク に変換するソフトを用いて変換し、 変換後のファイルを使う。

サイトやソフトが忘れてしまいましたが、libファイルを aファイルに変換するソフトがあったはず。それを使う。

解決方法2: MinGW側で使うためのDLLを VC++ & DXライブラリで開発し、それをMinGWで作ったソフトから動的リンクなり,静的リンクなりをする。

つまり、DXライブラリを直接使う部分はVC++で開発して、MinGWで作ったソフトから呼び出す。

なんとなく気になったので調べてみました。

「DXライブラリ gcc」でggると

URL: [C/C++][DXライブラリ]GCCでDXライブラリを使用してみる

がヒットした。

あ、考えてみれば 最終的に DLLにアクセスするんだから直接アクセスもありだな...と思った。

これは DLLの動的リンクと呼ばれています。

なので

解決方法3: Windows API 等で DLLの動的リンクを行ってDLLに直接アクセスする。

かなと。

ただ、この方法の場合は Windowws API の使い方とかがわかっていて、C言語の関数ポインタを使うから、ハードルは結構高いかも。

Windows APIでの動的リンクについてはイメージ的には

URL: ダイナミックリンク - Win32 API入門

とか。

それとも、そもそも「ライブラリの使い方(リンク方法)」自体がわからないってこと?

質問からはいくらでも可能性が見えます。

質問文はちゃんと書きましょう。

投稿2018/07/09 02:40

BeatStar

総合スコア4958

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問