2012-01-31 9 views
1

QTを使い始めました。今、私はVisual C++プロジェクト上にあるコードをQTに転送する必要があります。C++でQTにCOM DLL(ヘッダーなし)をロードしていますか?

現在のところ、プロジェクトでは唯一開いているのはPhotoshopで、可視フラグをfalseに設定するだけです(オートメーションに使用されるため、後で追加されます)。

2つのフォトショップDLLをインポートします(注:.hllまたは.libはありません.dllファイルはありません) これらのdllをインポートするために使用している方法は、インポートによるものです私が試した他の方法はすべてうまくいかなかったので、libid。彼らはCOMオブジェクトです、btwです。

これは私のVC++のコードです:今

//library ID of Photoshop.dll 
#import "libid:E891EE9A-D0AE-4cb4-8871-F92C0109F18E" 
//library ID of PhotoshopTypeLibrary.dll 
#import "libid:4B0AB3E1-80F1-11CF-86B4-444553540000" 

int main() 
{ 
    Photoshop::_ApplicationPtr app(__uuidof(Photoshop::Application)); 
    app->Visible = false; 

    return 0; 
} 

、私はこのコードをコンパイルするためのMinGWとQTクリエーターを使用していて、それは私にインポートライン上のいくつかの警告やエラーを与える:

warning: #import is a deprecated GCC extension 
error: libid:E891EE9A-D0AE-4cb4-8871-F92C0109F18E: No such file or directory 

そして、その後、「Photoshop」が宣言されていないことが明らかです。

私はVC++プロジェクトで作成された.tlhファイルをインクルードすることができましたが、私が見つけた最も近い解決策は、1000回以上のエラーと警告を受けていました。仕事。

ここで何をするか教えてもらえますか?私は真剣に立ち往生している!

+0

#importは標準のC++ではありません。 – Macke

+0

私はちょうどQTでそれを行う方法を見つけることを試みています。同等の方法であるように – godplusplus

+0

MSVCでQtコードをコンパイルすることができます(Visual StudioでQt CreatorではなくQt VSアドインを使用して)。あなたがそれをやるのを妨げるものは何ですか(COMはWindowsだけなので...とにかく...)? – Macke

答えて

1

#importは、Visual C++でCOMライブラリをインポートするために使用できるMicrosoft拡張機能です。

あなたの質問から、VisualC++にアクセスできるように見えますが、QTコードはgccでコンパイルされているように見えます。

VisualC++で単純なプロジェクトを作成する場合は、#importコードを追加してコンパイルすることができます。 コンパイラが.tlhファイルと.tliファイルを生成していることがわかります。 これらのファイルには、COMライブラリを使用する必要があり、どのコンパイラでも使用できるすべての情報が含まれています。

これらのファイルをgccプロジェクトディレクトリにコピーし、これらの生成されたファイルに対して#include(#importではなく)を使用できます。

.tlhはC++ヘッダーと同等です。.tliは.cppファイルによく似ています。

+0

お返事ありがとうございます、morechilli。しかし、私のポストの終わり近くに見ることができるように、私はすでにそれを試して、それは動作しませんでした、それは私に千以上のエラーを与えた。 他に提案はありますか? – godplusplus

+0

正しいアプローチでなければなりません。その数のエラーでは、1〜2つの系統的問題が複数回繰り返されている可能性があります。 #importには、基本ライブラリを除外したり、名前空間を追加して衝突を避けるためのさまざまなオプションがあります。より多くの情報を提供する可能性のあるエラーの例をいくつか投稿してください。 – morechilli

+0

このリンクは役立ちます:http://msdn.microsoft.com/en-us/library/298h7faa.aspx – morechilli

関連する問題