- 締切済み
Microsoft Visual C++ .NETでコンパイルが通りません
皆様、またまた宜しくお願いします。 今回はコンパイルが通らない原因を是非教えて頂きたく、 何卒宜しくお願いいたします。 現在、静的SQLを使った、DB2への更新プログラムを開発しています。 Microsoft Visual C++ .NET 2003 【開発手順】 1)XXXXXX.SQCで作成して、 2)DB2 コマンドセンターからPREP(プリコンパイル) 3)作成されたXXXXXX.cとXXXXXX.bndを、それぞれ、 4)Visual C++のプロジェクトに取り込んでいます(ファイル拡張子をC++に置き換え) 5)DB2 コマンドセンターからbind XXXXXX.bndを実行。 6)Visual C++のプロジェクトをコンパイル・リンクしています。 多少順番は異なるかと思いますが、ほぼ上記のように作成したXXXXXX.cppの ファイルを、移行先がC言語なので、拡張子を.Cに変更しました。 この時、#include "stdafx"は削除、XXXXXX.cppはプロジェクトからは削除、 そしてXXXXXX.cをプロジェクトに移動しました。 【問題発生】 ところが、コンパイルが通りません(下記が出力メッセージです)。 しかし、.cppに戻してコンパイルすると通ります。 XXXXXX.c XXXXXX.SQC(397) : error C2143: 構文エラー : ';' が '型' の前にありません。 XXXXXX.SQC(398) : error C2143: 構文エラー : ';' が '型' の前にありません。 (以下略) 【参考】 参考までに#includeの指定は下記です。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sqlenv.h> #include <sqlcodes.h> #include <sqlutil.h> #include <time.h> #include <ctype.h> このような現象に遭われた方、何卒問題解決の糸口を教えてください。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- clsdi99
- ベストアンサー率63% (31/49)
まだお困りですか? >静的SQLを使った、DB2への という事はやったこと無いので役に立てないかもしれませんが、 プリコンパイル後のcとSQC?はc言語なので多少は分かると思います。 ご質問のエラーのだけだと良く分かりませんが、おそらくある型 構造体等が定義されていないのだと思います。 必要なヘッダーはすべてインクルードされているかもういちどご確認した方が良いかと思います。
お礼
ご連絡ありがとうございました♪ 昨夜、原因わかりました。 cppの時の、正常にコンパイルが通っていたときの ソースコードです。 int main(int argc, char *argv[]) { count=0; char str_count[8]=" 0"; char reply[8]; /* 初期処理 */ init(); 上記を、cに変更してコンパイルするとエラーになってました。 これを、下記のように変えました。 変数定義を上にしました。 char str_count[8]=" 0"; char reply[8]; count=0; いつもはこの様にコーディングしているのですが、cppだと コンパイルエラーにはならないのですね??? お騒がせいたしました。 あっ、インクルードは一番最初にチェックしました(^^ ご指摘ありがとうございました!