C# 在windows中使用linux根库 我必须使用根CERN与C++库一起工作。这些库是用Linux环境和k dev编写的,现在我必须在windows和Visual Studio中使用这些库。首先,我尝试编译一些标题。h和一些源代码。Visual C++中的CPP创建一个DLL。这些文件在Linux中编译时没有任何问题

C# 在windows中使用linux根库 我必须使用根CERN与C++库一起工作。这些库是用Linux环境和k dev编写的,现在我必须在windows和Visual Studio中使用这些库。首先,我尝试编译一些标题。h和一些源代码。Visual C++中的CPP创建一个DLL。这些文件在Linux中编译时没有任何问题,c#,c++,root-framework,C#,C++,Root Framework,因此,我在生成一个可以在csharp中稍后使用的工作DLL时遇到了一个问题 我得到的错误是LNK错误,尽管我相信我在链接器中添加了必要的.lib,其中包含与ROOT相关的库 错误如下: Error 1 error LNK2001: unresolved external symbol "public: virtual void __thiscall Directory::ShowMembers(class TMemberInspector &)" (?ShowMembers@Direct

因此,我在生成一个可以在csharp中稍后使用的工作DLL时遇到了一个问题

我得到的错误是LNK错误,尽管我相信我在链接器中添加了必要的.lib,其中包含与ROOT相关的库

错误如下:

Error 1 error LNK2001: unresolved external symbol "public: virtual void __thiscall Directory::ShowMembers(class TMemberInspector &)" (?ShowMembers@Directory@@UAEXAAVTMemberInspector@@@Z) 

Error 2 error LNK2001: unresolved external symbol "public: virtual void __thiscall Directory::Streamer(class TBuffer &)" (?Streamer@Directory@@UAEXAAVTBuffer@@@Z) 

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

如果有人能给我一些提示,我将不胜感激

不幸的是,这是不可能的。如果有源代码,就必须在Windows上重新编译这些库。否则,请向供应商索取Windows版本。

以下是一些可能对您有用的链接


祝您好运

您必须浏览这些库的源代码(这不是问题,因为ROOT是开源的)并找到这些方法的定义。听起来很明显,但这些函数似乎应该在其他地方定义

是的,您的问题不清楚您是在编译根库还是在编译使用它们的程序。您是否尝试过使用cygwin或mingw编译根库?ROOT网站对这个平台/编译器有何评论?