none
#import で error C4772 RRS feed

  • 質問

  • 別のタイプライブラリを参照しているタイプライブラリを #import ディレクティブでインポートすると、コンパイル時に C4772 のエラーが発生しました。

    参照先のタイプライブラリのパスをPATH環境変数に追加すればエラーはなくなったのですが、PATH環境変数を使用しないでコンパイルを通す方法は無いでしょうか。

    よろしくお願いします。

     

     

    2006年9月20日 3:29

回答

  • 自己解決しました。

    C4772 のエラーが発生した状況の場合、#import で指定している.tlbファイルとその内部で参照している.tlbファイルの両方を、プロジェクトディレクトリ直下のサブディレクトリに格納し、そのディレクトリへの相対パスをコンパイルオプションの[追加のインクルードディレクトリ]に追加していました。

    両方の.tlbファイルをプロジェクトディレクトリに移動したところ、コンパイルに成功しました。

    あと、この件とは直接関係ないですが、#import ディレクティブに no_registry 属性を付加しておかないと、コンパイル時にタイプライブラリの情報が勝手にレジストリに登録されるようです。

     

     

    2006年9月20日 8:39