2011-07-15 12 views
2

私はROOT cernに基づいてC++ライブラリを扱わなければなりません。これらのライブラリはLinux環境とk devで書かれていますので、これらのライブラリをVisual Studioのウィンドウで使用する必要があります。最初に、ヘッダーの一部をコンパイルしようとしています.hとVisual C++の一部のソースコード.cppを使用してdllを作成しています。これらのファイルはLinuxで問題なくコンパイルされています。Windowsでlinuxルートライブラリを使用する

私は、後でcsharpで使用できる動作中のDLLを生成する際に問題があります。

私は、ROOTに関連するライブラリであるリンカーに必要な.libを追加したと思っていますが、エラーはLNKです。

エラーは次のとおりです。

Error 1 error LNK2001: unresolved external symbol "public: virtual void __thiscall Directory::ShowMembers(class TMemberInspector &)" ([email protected]@@[email protected]@@Z) 

Error 2 error LNK2001: unresolved external symbol "public: virtual void __thiscall Directory::Streamer(class TBuffer &)" ([email protected]@@[email protected]@@Z) 

Error 3 error LNK2019: unresolved external symbol "public: static class TClass * __cdecl Directory::Class(void)" ([email protected]@@[email protected]@XZ) referenced in function "public: virtual class TClass * __thiscall Directory::IsA(void)const " ([email protected]@@[email protected]@XZ) 

誰かがいくつかのヒントを指すことができれば、私は本当に感謝します!

+0

はい、あなたがROOTライブラリをコンパイルしようとしているのか、それを使用するプログラムをコンパイルしようとしているのかは不明です。 –

+0

cygwinやmingwでROOTライブラリをコンパイルしようとしましたか? ROOTのウェブサイトはこのプラットフォーム/コンパイラについて何を言いますか? – lurscher

答えて

1

残念ながら、これは不可能です。ソースコードをお持ちの場合は、Windows上でこれらのライブラリを再コンパイルする必要があります。それ以外の場合は、ベンダーにWindowsバージョンを問い合わせてください。

0

あなたは(ROOTは、オープンソースであるため、問題ありません)これらのライブラリのソースに閲覧することがあり、これらのメソッドの定義を見つけることができます。明らかに聞こえるかもしれませんが、これらの関数は他の場所で定義されていると思われます。

関連する問題