我想在C ++项目中使用AML.Engine.dll(https://github.com/AutomationML/AMLEngine2.1)。我已经将它与Microsoft C ++编译器一起使用,但是还需要它与GCC一起使用,但还不能这样做。 是否有必要进行任何编译器设置?还是GCC不可能?
下面的代码显示了一个我试图开始工作的简单演示项目。
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
#using <AML.Engine.dll>
#using <System.dll>
#using <System.Xml.dll>
#using <System.Xml.Linq.dll>
using namespace Aml::Engine::CAEX;
int main()
{
// create a new empty document
auto caexDocument = CAEXDocument::LoadFromFile("BSM_Project_210219_V3.1.aml");
CAEXDocument^ doc = CAEXDocument::New_CAEXDocument();
for each(auto instanceHierachy in caexDocument->CAEXFile->InstanceHierarchy){
for each(auto element in instanceHierachy->InternalElement){
System::Console::WriteLine( element->Name) ;
System::Console::WriteLine( "----------------------------------------------------------") ;
for each(auto ielement in element->InternalElement){
System::Console::WriteLine( ielement->Name) ;
}
}
}
}
答案 0 :(得分:0)
在.NET程序中使用随机dll有3种,反之亦然。
选项2可能会遇到二进制不匹配问题。选项3几乎可以保证。
目前还不清楚您的C ++程序是C ++ .NET(一种情况1)还是我所说的本机C ++(除.NET以外,其他任何C ++)都不清楚。根据设计,.NET / MSIL与源语言无关。 .NET比该语言定义了更多有关限制的信息。 我不知道System.Xml.Linq.dll是用C ++ .NET,C#,F#还是VB .NET编写的。而且我不需要知道使用它。