• 締切済み

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> このような現象に遭われた方、何卒問題解決の糸口を教えてください。 宜しくお願いします。

みんなの回答

  • clsdi99
  • ベストアンサー率63% (31/49)
回答No.1

まだお困りですか? >静的SQLを使った、DB2への という事はやったこと無いので役に立てないかもしれませんが、 プリコンパイル後のcとSQC?はc言語なので多少は分かると思います。 ご質問のエラーのだけだと良く分かりませんが、おそらくある型 構造体等が定義されていないのだと思います。 必要なヘッダーはすべてインクルードされているかもういちどご確認した方が良いかと思います。

lamina
質問者

お礼

ご連絡ありがとうございました♪ 昨夜、原因わかりました。 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だと コンパイルエラーにはならないのですね??? お騒がせいたしました。 あっ、インクルードは一番最初にチェックしました(^^ ご指摘ありがとうございました!

関連するQ&A