gccでDXライブラリをつかいたいのですが
全く使い方がわかりません。
環境設定は、すでに大丈夫です。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答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
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
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での動的リンクについてはイメージ的には
とか。
それとも、そもそも「ライブラリの使い方(リンク方法)」自体がわからないってこと?
質問からはいくらでも可能性が見えます。
質問文はちゃんと書きましょう。
投稿2018/07/09 02:40
総合スコア4958
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。