- ベストアンサー
音楽再生についてのVC++のプログラムの質問
今あるソフトを作っているんですが、マルチメディアを使う場合に、mmsystem.hと いうヘッダファイルとwinmm.libというライブラリを使っているんですが、winmm.libとライブラリがどうゆうものかわからないのです。本に書いてあり、それをそのまま書いて実行させているのですが、これはフリーのライブラリなのでしょうか?詳しい方教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
その他の回答 (1)
関連するQ&A
- libファイル無しでかつLoadLibraryを使わずにロードする方法
お世話になります。 現在eMbedded VC でソフト開発を行っています。 今Libファイルが無く、ヘッダファイルとdll本体 だけが有るライブラリがあります。 このライブラリのソースはありません。 このライブラリを使用したい場合、LoadLibraryで動的ロードを行えばよいのですが、 どうしても静的に(Libファイルを用いるときのように)ロードを行いたい場合はどのようにすればよいでしょうか? 例えば ・ヘッダとdllからlibファイルを逆生成して使用する方法 やツールについて 等等・・ (原理的に無理な場合はそのようなご回答もお待ちしております。) お忙しい中ですが、皆様宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- VC2005 ビルドオプションについて
VC2005で質問です。 [やりたいこと] VC2005でビルドを行い、意図したライブラリができるとします。 そのライブラリファイルを、予め準備していたExeファイルへ 入力/実行を自動的にする方法(設定)とかってあるのでしょうか? この時、作業はVC2005でビルドするだけです。 すみません、分かりにくいですね。 もう少し詳しく。。 [作業] 1. VC2005でビルドを実行 (1)Lib fileが作成される (2)予め準備していたexeファイル (3)予め準備していたexeファイルが出力したファイル 通常はビルドするだけだと、Libファイルが出来て((1)で)終了です。 今回やりたいのは、そのLibファイルを自動的に予め準備していた exeファイルへ入力/実行し、そのexeファイルから出力されたファイル を自動的に作成したいというものです。 言ってる事同じですね^^; ご存知の方がいらっしゃいましたら、ご教授ください。
- ベストアンサー
- C・C++・C#
- BCCでコンパイルする際に静的リンク指定が無視される
GLUTを使用したCプログラムをBCCでコンパイルしたのですが、実行ファイルが生成されてもライブラリが静的リンクされません。 コンパイルオプションとして、 > bcc32 *.c glut32.lib glu32.lib winmm.lib とlibファイル名のリストを与えているのですが…… 当然ながら、bcc32.cfgとilink32.cfgの環境変数でlibファイルへのパスは与えてあります。
- ベストアンサー
- C・C++・C#
- timeGetTimeについて
宜しくお願いします。 http://www.tsg.ne.jp/sept/prg/memo/timegettime.asp 上記のサイトを参照してtimeGetTimeを利用して実行時間の計測をしています。 このサイトにはmmsystem.hをインクルード,winmm.libとリンクしデータ型はDWORD型とあります。 しかし,そうしなくともwindows.hをインクルードしdouble型でtimeGettime();を読み込んでも値を読み込んでくれます。そしておそらく正確な数値のようなのですが,これでも大丈夫なのでしょうか。また,なぜこれでもできるのでしょうか。 御指南ください。使っているコンパイラはBCCでC言語で組んでいます。
- 締切済み
- C・C++・C#
- VC++2010の「#include <」
VC++ で、他人の作ったソースコードをビルドして実行してみています。 (WinPcapのデベロッパ向けのライブラリを使った、サンプルプログラムです。) VC++自体、あまり理解が深くないのですが、 「#include <」まで書くと、「ヘッダファイル名が表示される」プロジェクトと、「そうではない」プロジェクトがあります。 「そうではない」方のプロジェクトだと、ビルド時にincludeするライブラリが足りないとか、そんな感じのエラーが表示されます。 ぱっと見の違いは、「ヘッダファイル名が表示される」プロジェクトの場合は、 ソリューションエクスプローラに、「外部依存関係」というフォルダのショートカットがあり、ライブラリがどっさりあります。 「そうではない」プロジェクトについても、「#include <」で、ヘッダファイルを表示してくれるようにしたいのですが、どの様にすればよいのでしょうか?★ プロジェクトのプロパティの、 C++>プリプロセッサ>プリプロセッサの定義 リンカー>入力>追加の依存ファイル はどちらのソースも同じにしたのですが…。
- ベストアンサー
- C・C++・C#
- C++での静的ライブラリの作成方法
C++での静的ライブラリの作成方法 今まで独学でC++を勉強してきたのですが、既存ライブラリのラッパーを作りたいと思います そこで、色々なサイトなどで調べてみたのですが、いまいちライブラリというものについて納得の出来る解説のあるサイトが見つからなかったので、質問させて下さい まず私が元にするライブラリの構成は hoge.h foo.lib bar.lib となっており、その関数などを使用する独自型のクラスや、それをさらに扱うクラスなどを作っています その場合、ふたつのクラスをひとつのlibファイルに一緒にしてもいいものなのか、 はたまた分けてそれぞれlibファイルにするのか、 複数できたヘッダはプロジェクトに追加するときどれを入れるのか、 インクルードやリンクはどこに張ればいいのか、 libファイルにヘッダは含まれているのか、など 基本的なことが全然わからず、身近に聞ける人もいなくずっと手探り状態です よろしければ全体のファイル構成や作り方、使い方などの基本的なことから教えて下さい あと別件なのですが、クラスのインスタンスが生成されたときにメンバ変数はメモリに動的に配置されると思うのですが、メンバ関数はどうなるのでしょうか? インスタンスごとに同じく生成されるのか、宣言の時に既に一箇所に用意されていて、毎回そこに飛ぶのでしょうか? よろしくお願いします!
- ベストアンサー
- C・C++・C#
- VC2005のDLLを6.0で呼び出すには
VC 2005 Pro Editionで作ったライブラリ(ヘッダ、lib、dll)を頂きました。 頂いたDLLの形式は定義ファイル.defを使わない形式、declspec(dllexport)を使う形式の方です。 呼び出し側はVC6.0EnterPrize(SDK)を使います。 (諸事情により6.0以上にUPすることは不可能) まず、静的リンクをし、関数を呼び出してみました。 (設定のリンクよりlibをリンクさせ、ヘッダをインクルードして) すると以下のメッセージが出てしまいます。 リンク中... Dialog1.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) void __cdecl Init(unsigned char *,unsigned char *,unsigned char *,unsigned char *)" (__imp_?Init_Card@@YAXPAE000@Z)" は未解決です Debug/CardMake.exe : fatal error LNK1120: 外部参照 1 が未解決です 。 link.exe の実行エラー 色々やってみましたが、このエラーから回避できませんでした。 ヘッダ自体に #ifdef _USRDLL #define DLL_PORT __declspec(dllexport) #else #define DLL_PORT __declspec(dllimport) #endif の宣言があるので、別に特別なことをしなくても、大丈夫そうなのですが、何故か出来ません。 次に動的リンクを行っていました。 するとLoadLibraryでエラーになり、GetLastErrrorで14001(エラーメッセージはつかめず)が返ってきました。 (色々調べたところ定義ファイルがないと動的リンクはできないようですね) というわけでにっちもさっちも行かなくなった状況です。 そこでご質問です。 (1)定義ファイルを使わない形式のライブラリ(暗示的に定義されているもの)はどのように呼び出させばよいでしょうか? (2)2005のライブラリを6.0から呼び出すことは可能ですか? また呼び出す方法は? すいませんがご回答をお願いします。
- ベストアンサー
- C・C++・C#
- windowsでLinuxで作成したソースをコンパイル
Linuxで作成、 $gcc -Wall file.c で、通ったファイルをWindowsでも同様に通したいので、MinGWを使って、コンパイルしたのですが、 #include <sys/socket.h> の構文で引っかかってしまいました。どうやらインクルードファイルが無いようでしたので、 C:\MinGW\include C:\MinGW\lib 以下に、Linuxの /usr/include/ /usr/lib/ 以下のファイルをそのまま入れて、再度実行しました。 ヘッダーファイルは見つけて読んでくれたのですが、そのヘッダーファイルに書いてある関数(例:htons(), socket(), inet_addr(), connect())が参照できないとの事で、怒られてしまいます。 Linuxのライブラリファイルをそのまま入れたのがまずかったのかもしれないのですが、こいつのエラーを解消する有効手段が見つかりません。 問題解決のヒント、又は答えを教えていただけませんでしょうか。 どうか、お願い致します。
- ベストアンサー
- C・C++・C#
- EclipseでVCのライブラリは使える?
今までずっとVisualC++を使っていて、最近Eclipseに乗り換えようかと思っているのですが、 VC用に作られたライブラリ(例えばDirectXなどの.libファイル)はEclipseでも使えるのでしょうか。 使い方を教えていただけると助かります。
- 締切済み
- C・C++・C#
お礼
こんな短時間に2回もすいません。winmm.libはWindowsの中にあるdllを 呼ぶものなんですね!VCに入っているものかと思っていました。 本当に親切にありがとうございます!また近いうちに顔を見せる事があると思うのでその時はまたお願いします。ありがとうございました。