Fóruns: おーぷんMIDIぷろじぇくとフォーラム (Thread #42024)

MIDIStatusライブラリのFILE型について(MIDIStatusライブラリ0.9) (2020-03-15 18:59 by とある世界樹ユーザーf #84554)

久しぶりに失礼します。
最近プログラミングの勉強を始めて、おーぷんMIDIプロジェクトのライブラリを利用させていただいております。
さて、MIDIStatusライブラリを利用しようとした際に
’FILE’:定義されていません
のようなエラーがでました。
原因は"MIDIStatus.h"のMIDIStatus_Write関数(外部隠蔽)などの引数にFILE型ポインタが使用されており、
FILE型の宣言は"stdio.h"にあってそれをincludeしていなかったことによるものだと思います。
とりあえず僕はMIDIStatus.hに#include<stdio.h>と書いてエラーを回避しましたが、元から#include<stdio.h>を書いておいてもらう、あるいは他の方法でエラー回避をしておいてもらえると助かります。
修正お願い致します。

Responder a #84554×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: MIDIStatusライブラリのFILE型について(MIDIStatusライブラリ0.9) (2020-03-16 21:17 by kuzu #84572)

このたびはおーぷんMIDIぷろじぇくとのライブラリをご利用いただき、誠にありがとうございます。
また、たびたびバグ報告を書いていただき、誠にありがとうございます。

ご指摘のヘッダーファイルにFILE型が記載されてしまっている件、確認しました。
とりあえずは、ヘッダーファイルの該当行(MIDIStatus_WriteとMIDIStatus_Readの2行)をコメントアウト又は削除してご利用くださいませ。

ヘッダーファイル上で<stdio.h>をincludeしてしまうと、
ソースファイル側でのincludeがあった場合に、二重インクルードとなってしまい、
場合によってはエラーとなるので、慎重になる必要があります。

このバグは次回リリース時に直しておきたいと思います。
Responder a #84554

Responder a #84572×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: MIDIStatusライブラリのFILE型について(MIDIStatusライブラリ0.9) (2020-03-17 12:45 by とある世界樹ユーザーf #84573)

回答ありがとうございます。
> ヘッダーファイル上で<stdio.h>をincludeしてしまうと、
> ソースファイル側でのincludeがあった場合に、二重インクルードとなってしまい、
> 場合によってはエラーとなるので、慎重になる必要があります。
なるほど、そういうことがあるんですね。勉強になります。



Responder a #84572

Responder a #84573×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login