C++ゲームプログラミングのためのライブラリの使い方
- C++初心者がゲームプログラミングを学ぶためのライブラリの使い方が分からない。
- 本には専用のライブラリが付属しており、Windows環境では.libファイルを使用するが、Mac OS Xでは.aファイルを使用する。
- Mac OS Xで.libファイルを使える方法やリンクの仕方を教えてほしい。
- ベストアンサー
C++ライブラリの使い方について
C++初心者です。ゲームプログラミングを学びたいと思い、 「ゲームプログラマになる前に覚えておきたい技術」という本で勉強を始めました。 この本には専用のライブラリが付属しており、それを使用することを前提としているのですが、 ライブラリの使い方がよく分かりません。 こちらの環境は、 OS : Mac OS X コンパイラ : GNU GCC です。 本に付属しているのは、拡張子が.libと.pdbのファイル群です。 調べてみたところ、.libのファイルはWindows環境で使用するもので、 UNIX系のOSでは拡張子は.aになるそうですが、 .libのファイルをMac OS Xで使えるでしょうか? もしできるなら、どのようにリンクしたらいいのかも教えて頂きたいです。
- wannabegeek
- お礼率20% (1/5)
- C・C++・C#
- 回答数5
- ありがとう数1
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
まず、C++、あるいは、C言語について、どこまで知識がありますか? これらの言語は ・テキストでプログラムを作る。このテキストをソースコードと言います。 ・コンパイルしてバイナリファイルに変換する。これをオブジェクトファイルと言います。 ・オブジェクトファイルやライブラリをリンクという方法で結合して、実行ファイルに変換します。 という手順を踏みます。 ソースコードはある程度共通ですが、オブジェクト以降は、各OS、CPU毎に別なものとなります。 ここで言うライブラリとは、あらかじめコンパイルしておいたオブジェクトファイルをまとめたものです。 .libは、Windows用のライブラリです。 上に書いたように、Windows用にコンパイルしたオブジェクトをまとめたものです。 ということは、Mac用のコンパイルされていないので、Macでは使えません。 「ソースコードはある程度共通」とは書きましたが、これは、OSに依存しない処理についてです。 今回の場合、ゲーム用ということで、画面表示等が入っていると思います。 これは、OS毎の違いの大きな部分です。 なので、ソースコードがあっても、Macでコンパイルしなおすことは困難です。 今後の方針は次の3通りでしょう。 (1) Windowsを導入して、Windows上で試す。→bootcampや仮想マシンが必要。Windowsそのものも必要 (2) エッセンスだけ勉強する。 プログラムをそのまま使うことはできなくても、そこで使われている技術、アルゴリズムを学ぶことはできます。 (3) あきらめる。 なお、この本は、C++をある程度使えることが前提で書かれているそうです。 「C++初心者」なら、この本を理解できないかもしれません。
その他の回答 (4)
- thunder-bird
- ベストアンサー率26% (304/1144)
貴殿の質問文を読んだ感触では「ロベールの C++ 入門」を読むには早いです。 この書籍、全くの初心者が読んでも理解しにくいと思います。
- zwi
- ベストアンサー率56% (730/1282)
C++自体の学習が出来る本ではないので、C++の本は別に購入して先に学習してください。 おすすめの本。 「ロベールの C++ 入門 ─ サポートページ」 http://book.mycom.co.jp/support/e1/robert/
- zwi
- ベストアンサー率56% (730/1282)
MacOSXでは困難ですね。 MicrosoftDirectXを利用しているで、どうやってもうまく表示できないと思います。 bootcampでWindowsOSを入れるのが無難な方法かと思います。 ※ ただのWindowsとのブート切り替え機能のようですね。 つまり、Windowsも動くMacPCとなります。 この場合、WindowsOSの購入が必要です。
- wormhole
- ベストアンサー率28% (1619/5654)
「ゲームプログラマになる前に覚えておきたい技術」のサンプルプログラムなどはWindowsのVisualStudio2005,2008を対象にしてるはずなのでMac OS Xでは使用できません。
関連するQ&A
- C++言語でのライブラリファイルの作成と使用法
よろしくお願いします。 C言語において、例えばMinGWのCコンパイラのLibディレクトリには、拡張子が「.a」のライブラリファイルがたくさん存在しています。これらは、arコマンドで ar crv libMine.a 1.o 2.o のように作成されるものだと認識しています。 一方、C++言語において、例えばBorlandのC++コンパイラのLibディレクトリには、拡張子が「.lib」というライブラリファイルがたくさん存在します。 これらのファイブラリファイルは、C言語のaファイルと同じ役割をする考えてよいのでしょうか? また、C++において自作のライブラリファイル(libファイル)を作成するにはどうすればよいのでしょうか? 次に、C++における自作ライブラリの使用法についてですが、Cではコンパイル時に gcc -o 1.exe 1.c libMine.a のようにして、自作のライブラリファイルを使うことができますが C++のコンパイルコマンド、例えばbcc32コマンドを使ってコンパイルする時に、 自分が作成したlibファイルを使うにはどのようにすればよいのでしょうか? 最後に、Borland C++コンパイラをインストールするときに、Binディレクトリにあるbcc.cfgファイルに -L"c:\Borland\Bcc55\lib" と記述したのですが、これは、 c:\Borland\Bcc55\libにあるlibファイルをコンパイル時に自動的に読み込むということなのでしょうか?
- ベストアンサー
- C・C++・C#
- Cをコマンドプロンプトから実行したい
今晩は、Eclipse(CDT)でC言語を勉強している初心者です、宜しくお願いします。 WorkSpaceを作成して、そこに実際に作成したファイルを保存しています。 これをもし、コマンドプロンプトから動作させようとすると、どのファイルをどのように呼び出して、実行させて やればよいのでしょうか。 因みにEclipseのフォルダの中には、GNU>gcc>binというフォルダ構成?となっています。 また、GNU、gccのそれぞれの役割みたいなものはどういう意味でしょうか。 コンパイラらしきものというのはわかるのですが、色々と本を調べると、GNU、gccのどちらもコンパイラという風には 書いているのですが.........
- ベストアンサー
- C・C++・C#
- gfortranが使えません。
Mac OS X (10.6)でもgfortranコンパイラを使えるよう以下のサイト http://gcc.gnu.org/wiki/GFortranBinaries#MacOS からgfortranのdmgファイルをDL&installしたのですが、gfortranが使えません。 どなたが自前のMacOSX(10.6)にgfortranコンパイラのインストールに成功した方がおられましたら、どのようにインストールしたのか教えて頂ければ幸いです。
- 締切済み
- その他(プログラミング・開発)
- [C++]VC2008のC++がECLIPSE(GCC)で使えない
VC2008EXPRESSは重いのでECLIPSE(コンパイラはGCC)に乗り換えました。しかしVC2008で作成したプログラムが動きません。 具体的には以下のライブラリを使用しているプログラムなのですがECLIPSEでは認識できないようでエラーになります。 #pragma comment(lib,"ws2_32.lib") このDLLはECLIPSEでは使えないのでしょうか?
- 締切済み
- C・C++・C#
- ライブラリの中身を書き換えるには
C++のライブラリの中身を書き換えたいのですが、どのファイルを書き換えれば良いでしょうか? インクルードフォルダのファイルは拡張子がlibのファイルで、エディタで開いても見れませんでした。
- 締切済み
- C・C++・C#
- Macで標準ライブラリのファイル
Macで標準ライブラリの .cファイルは、どこにあるのでしょうか?? FreeBSDなら/usr/src/lib/libc/~~~ にあるのですが、Macでは見つからないのです。。"find / -name printf.c" などとしてみたのですがヒットせず。 OSのバージョンは10.3です。
- ベストアンサー
- C・C++・C#
- スタティックライブラリのリンクについて
「猫でもわかるWindowsプログラミングを買ったのですが、 VC++2008エクスプレスエディションで出来ると書いてあり 説明どうりやったのですが、スタティックライブラリのリンクをするように書いてあったのですが、リンクはわかったのですが、libファイル を出したいのに、出ません。本には、すべてのファイルが出ており、libファイルとリンクができているのですが、私がやってみたところ、 すべてのファイルができず、libファイルが表示されません。 すべてのファイルを出すにはどうしたらいいでしょうか?
- 締切済み
- C・C++・C#
- WinodwsとIOSで動くライブラリ
Windowsで動作しているライブラリ(Lib)が、IOSで動くように、移植作業を行っています。 ★開発環境★ OS:Winodws7 コンパイラ:Borland C++ 5.5.1 言語:C++ 手始めに、Windos依存部分(MFC/WinodosAPI)をC/C++標準ライブラリに置き換えようとしてます。 MFCは何とかいけそうですが、WinodwsAPIの置き換えに難航しています。 置き換え対象のライブラリは、文字コード変換、ファイル操作、画像処理、ソケット通信など、標準的なAPIをまとめた内容なのですが、特にファイル操作、文字コード変換、画像処理はWindowsAPIに依存しているため、IOSにそのまま移植できるものがなさそうです。 そこでWinodws、IOSの両方のOSで動くようなマルチOSライブラリがあれば、教えて頂けないでしょうか?(特にファイル操作関係) 同じような状況に遭われた方、何か心当たりのある方のアドバイスをよろしくお願いします。
- 締切済み
- その他(OS)
- Linuxの動的ライブラリをMacで使いたい
64bit Linux用に提供されたライブラリ(*.a, *.so)をMac(Snow Leopard)で使いたいと思っています。Mac環境でコンパイルをしたところ、リンク時に以下のwarningが出てしまいました。 ld: warning: in xxx.so, file is not of required architecture Webで調査し、gccのオプションに-arch i386 -arch x86_64を付けてみましたが解決できませんでした。そもそも、Linux用のライブラリをMacで使うというのは無理なのでしょうか?ご回答どうぞよろしく御願いいたします。
- ベストアンサー
- C・C++・C#
お礼
やはりMacでは使えないみたいですね。 Windowsで試してみたいと思います。 回答下さった方々、ありがとうございました。