ある開発環境ではコンパイルできたソースコードを、別の環境に移したところ、コンパイルができなくなってしまいました。
以前の環境の詳細が分からないので困っています。
以下、現在の環境とエラーについて記述します。
現在の開発環境:VC++ 6.0
OS:WindowsXP Professional
DirectX9 SDK、PlatForm SDK をインストール済
(先程インストールしました)
コンパイルを行ったところ、'DWORD_PTR'に関するエラーが大量に出ました。
エラーメッセージの一例:
C:\DXSDK\INCLUDE\dxtrans.h(2580) : error C2061: 構文エラー : 識別子 'DWORD_PTR' がシンタックスエラーを起こしました。
C:\DXSDK\INCLUDE\mmstream.h(99) : error C2065: 'DWORD_PTR' : 定義されていない識別子です。
コードの冒頭では以下の順でヘッダファイルをインクルードしています。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <dshow.h>
#include <qedit.h>
#include <math.h>
#include <time.h>
#include <winsock2.h>
#include <stdarg.h>
インクルードの優先順位の問題かと考えましたが、以前の環境ではこのコードのままで動いていたので、頭をひねっています。
どなたか、知恵を貸していただけませんか?
よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
まず、Platform SDK の Include ディレクトリで、
findstr DWORD_PTR *.h
と入力して、DWORD_PTR を定義しているファイルがあるか確認してください。私の場合、basetsd.h で定義されていました。
定義されているようでしたら、VC++ の設定を確認してください。
プロジェクトを開き、「プロジェクト」→「設定」 「C/C++」タブのコンボから「プリプロセッサ」を選び、「インクルードファイルのパス」に Platform SDK の include フォルダのパスを設定して下さい。
No.2
- 回答日時:
インストールされているPlatForm SDKが最新のものでないため、
DWORD_PTRが定義されていないのかもしれません。
最新のPlatForm SDK新しく入れるか。
もしくは自分でDWORD_PTRを定義してしまうかの方法があります。
おそらく<dshow.h>以下のヘッダファイル内に
DWORD_PTRが使用されているので、自分で定義する場合は
#include <stdlib.h>
__if_not_exists( DWORD_PTR ){
typedef DWORD DWORD_PTR;
}
#include <dshow.h>
とすればエラーはなくなると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが // 3 2023/05/02 11:24
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
コンパイルできません。
-
visual C++ でビルドの中止がで...
-
fortranでプログラムを実行する...
-
multiple definitionというエラー
-
RightとLeft関数のライブ...
-
FORTRAN Legacy Extension
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
C言語 [fopenのエラーについて...
-
graph.hのヘッダーファイルの中...
-
VC2010のビルドエラーを全部出...
-
DLL関数を使ったプログラム
-
エラー: ‘inval’ の記憶サイズ...
-
Microsoft Visual C++ のエラー...
-
OpenSSLでOPENSSL_Applinkが見...
-
バイナリファイル読み込みプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
fortranでプログラムを実行する...
-
Excelのエラーで困ってます。
-
Handlesについて
-
HEWを使用しているのですが、こ...
-
バッチからsqlplusの接続エラー...
-
デバッグ中のエラーのことで教...
-
VB2008で定数に色の設定をした...
-
コンパイルできません。
-
sys/time.hのインクルードがで...
-
multiple definitionというエラー
-
HANDLEの宣言でのエラー
-
BC30002: 型 'ListItem' が定義...
-
visual C++ でビルドの中止がで...
-
RightとLeft関数のライブ...
-
Visual Studioのstrcpy_sについて
-
ビルド失敗 指定されたファイ...
-
エクセルでマクロを実行すると...
おすすめ情報