none
プロジェクトの種類、テンプレートの種類 RRS feed

  • 質問

  • 只今C言語を利用しWindowsアプリケーションを製作中です。

    データベースはOracle10を使用、プリコンパイルを利用するためにVC++を使おうと思うのですが、

    ファイル→新規作成で、CLR、Win32,全般などでプロジェクトの種類を選択したり、テンプレート選択で、クラスライブラリ、CLRコンソールアプリケーション、空のCLRプロジェクト、Windowsアプリケーション等ありますが、

    Pro*Cのソースをビルドするためのプロジェクトは何を利用すればいいのでしょうか?

    2007年9月4日 15:42

回答

  • Oracleを使ったことがないので少しネットで調べてみました。
    ですので回答がハズしている可能性もあります。

    まず質問内容の確認ですが、
    Pro*C/C++を使うと*.pcファイルから*.c または*.cppのファイルが生成されるため
    生成された*.cをビルドするためにはどのプロジェクトを選択したらいいのでしょうか?

    という意図でよろしいですか?

    この場合、「作りたいものに合わせて選択してください。」という回答になってしまいます。
    なぜならどのプロジェクトでも生成された*.cのファイルはコンパイルできるはずです。
    後は、Oracleを使うコンソールアプリ(コマンドプロンプトで表示されるアプリ)が作りたいのか
    Oracleを使うクラスライブラリをC++/CLI作って画面はC#で用意するとか、作りたいアプリによって変わるからです。

    とりあえず動くか試したいのであれば「Win32 コンソールアプリケーション」が一番簡単だと思います。

    2007年9月5日 7:42
  • 返答ありがとうございます。

    質問の意図は、VC++でpcファイルをプリコンパイルする方法がわからないということです。

    インクルードパスの追加でsqlca.hが存在するディレクトリを指定し、

    リンクパスの追加でoracleのライブラリファイルが存在するディレクトリを指定し、

    *pcファイルのビルド規則作成をしているので、VC++でプリコンパイルするための環境設定はしてあります。

     

    2007年9月5日 15:50
  • 了解しました。

    手順は以下のようになると思います。

     

    1.プロジェクトを「全般」→「空のプロジェクト」で作成します。

    2.プロジェクトに*.pcファイルを追加。

    3.追加した*.pcファイルのプロパティで「構成プロパティ」→「全般」→「ツール」を

     「カスタムビルドツール」に変更。

    4.「カスタムビルドステップ」の設定で「コマンドライン」にprocui.exe のフルパスを指定

    5.「カスタムビルドステップ」の設定で「出力ファイル」に「$(ProjectDir)\$(InputName).cpp」を指定。

     

    これでビルドを行うとPro*C/C++が動作して*.cppファイルが生成されるはずです。

    2007年9月6日 11:27
  •  

    ありがとうございます。

     

    エラーも無く、プリコンパイル自体はうまくできたようなのですが、

    肝心のCファイルが生成されません(見つかりません)。

    Projectsフォルダから作成したプロジェクトフォルダにもないのですが、

    どこに生成されるものなのでしょうか?

     

     

    2007年9月9日 5:02
  • 前回書いた「コマンドライン」の設定が間違っていたかもしれません。

     

    [間違い]

    4.「カスタムビルドステップ」の設定で「コマンドライン」にprocui.exe のフルパスを指定

     

    [修正後]

    4.「カスタムビルドステップ」の設定で「コマンドライン」に「proc.exe iname=$(inputname).pc」を指定

     

    これで*.pcファイルと同じところに*.cファイルができると思います。

     

    ※実際に試していないのでまだ間違っていたらごめんなさい。

    ↓のドキュメントを軽くみただけで回答していますので^^;

    http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/win.102/B25366-01/toc.htm

     

    どうしてもどこにファイルができているか分からない時は

    FileMonなどのツールを使ってどのファイルにアクセスしているか確認するといいかもしれません。

    http://www.microsoft.com/technet/sysinternals/SystemInformation/Filemon.mspx
    2007年9月9日 11:09
  • 多分、コマンドプロンプトでもPROCのプリコンパイラは使えると思うのですけれど、試しに使ってみたりしましたか?

    内容的にはVCが云々と言うよりもオラクルのProCのプリコンパイラの話のような気もします。

    コマンドプロンプトでプリコンパイラの使い方を確認してからVCのIDEで使う方法を探った方が良いと思いますよ。

     

    2007年9月10日 2:48
  •  

    コマンドプロンプトでも正しくプリコンパイルできるんですね。

    ありがとうございます。

    2007年9月10日 12:19
  •  

    ごめんなさい。やり方が悪かったようです。

    すでに持っていたPCファイルそのまま貼り付けようとしないで、ソースファイル右クリックで追加して作ってコンパイルしたら、pcファイルもcファイルも作成されていました。ありがとうございました。

    2007年9月10日 12:26

すべての返信

  • Oracleを使ったことがないので少しネットで調べてみました。
    ですので回答がハズしている可能性もあります。

    まず質問内容の確認ですが、
    Pro*C/C++を使うと*.pcファイルから*.c または*.cppのファイルが生成されるため
    生成された*.cをビルドするためにはどのプロジェクトを選択したらいいのでしょうか?

    という意図でよろしいですか?

    この場合、「作りたいものに合わせて選択してください。」という回答になってしまいます。
    なぜならどのプロジェクトでも生成された*.cのファイルはコンパイルできるはずです。
    後は、Oracleを使うコンソールアプリ(コマンドプロンプトで表示されるアプリ)が作りたいのか
    Oracleを使うクラスライブラリをC++/CLI作って画面はC#で用意するとか、作りたいアプリによって変わるからです。

    とりあえず動くか試したいのであれば「Win32 コンソールアプリケーション」が一番簡単だと思います。

    2007年9月5日 7:42
  • 返答ありがとうございます。

    質問の意図は、VC++でpcファイルをプリコンパイルする方法がわからないということです。

    インクルードパスの追加でsqlca.hが存在するディレクトリを指定し、

    リンクパスの追加でoracleのライブラリファイルが存在するディレクトリを指定し、

    *pcファイルのビルド規則作成をしているので、VC++でプリコンパイルするための環境設定はしてあります。

     

    2007年9月5日 15:50
  • 了解しました。

    手順は以下のようになると思います。

     

    1.プロジェクトを「全般」→「空のプロジェクト」で作成します。

    2.プロジェクトに*.pcファイルを追加。

    3.追加した*.pcファイルのプロパティで「構成プロパティ」→「全般」→「ツール」を

     「カスタムビルドツール」に変更。

    4.「カスタムビルドステップ」の設定で「コマンドライン」にprocui.exe のフルパスを指定

    5.「カスタムビルドステップ」の設定で「出力ファイル」に「$(ProjectDir)\$(InputName).cpp」を指定。

     

    これでビルドを行うとPro*C/C++が動作して*.cppファイルが生成されるはずです。

    2007年9月6日 11:27
  •  

    ありがとうございます。

     

    エラーも無く、プリコンパイル自体はうまくできたようなのですが、

    肝心のCファイルが生成されません(見つかりません)。

    Projectsフォルダから作成したプロジェクトフォルダにもないのですが、

    どこに生成されるものなのでしょうか?

     

     

    2007年9月9日 5:02
  • 前回書いた「コマンドライン」の設定が間違っていたかもしれません。

     

    [間違い]

    4.「カスタムビルドステップ」の設定で「コマンドライン」にprocui.exe のフルパスを指定

     

    [修正後]

    4.「カスタムビルドステップ」の設定で「コマンドライン」に「proc.exe iname=$(inputname).pc」を指定

     

    これで*.pcファイルと同じところに*.cファイルができると思います。

     

    ※実際に試していないのでまだ間違っていたらごめんなさい。

    ↓のドキュメントを軽くみただけで回答していますので^^;

    http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/win.102/B25366-01/toc.htm

     

    どうしてもどこにファイルができているか分からない時は

    FileMonなどのツールを使ってどのファイルにアクセスしているか確認するといいかもしれません。

    http://www.microsoft.com/technet/sysinternals/SystemInformation/Filemon.mspx
    2007年9月9日 11:09
  • 多分、コマンドプロンプトでもPROCのプリコンパイラは使えると思うのですけれど、試しに使ってみたりしましたか?

    内容的にはVCが云々と言うよりもオラクルのProCのプリコンパイラの話のような気もします。

    コマンドプロンプトでプリコンパイラの使い方を確認してからVCのIDEで使う方法を探った方が良いと思いますよ。

     

    2007年9月10日 2:48
  •  

    コマンドプロンプトでも正しくプリコンパイルできるんですね。

    ありがとうございます。

    2007年9月10日 12:19
  •  

    ごめんなさい。やり方が悪かったようです。

    すでに持っていたPCファイルそのまま貼り付けようとしないで、ソースファイル右クリックで追加して作ってコンパイルしたら、pcファイルもcファイルも作成されていました。ありがとうございました。

    2007年9月10日 12:26