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

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

ただいまの
回答率

90.51%

  • C

    3711questions

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

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

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 179

takurin

score 3

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • yoorwm

    2018/07/09 10:09

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

    キャンセル

回答 3

+1

こんにちは。

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

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


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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

0

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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入門

とか。

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.51%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • C

    3711questions

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