我有一段非托管本机C++代码(一个类),希望集成到C# .NET程序集中。
我(认为)我知道我有两个选择:
假设我想选择选项2,使用2015 IDE GUI,而不直接从命令行调用编译器。
我是否需要为两个C# (项目"C#")和C++/CLI++/原生部分(项目"C++")分别创建两个项目,然后从项目"C#“引用(添加引用)项目"C++”的DLL输出文件并将其静态链接?这是C++源文件直接集成到项目"C#“中的唯一方式,还是通过为每个源文件指定不同的编译器和不同的编译器选项而直接集成它们?
发布于 2017-05-11 11:22:39
如果选择2,则必须创建3个项目:
向C#项目添加包装器的引用,并将本机项目的引用添加到包装器中。但是,您可以将您的本机C++代码直接添加到包装器中,并删除第三个项目。但是afaik您不能在其他原生C++项目中使用包装器。
您不能将C++代码直接添加到C#中,因此您必须使用前面提到的选项之一。
发布于 2017-05-11 10:48:21
如果选择2,则需要一个独立的C++/CLI项目,必须从c#项目中引用该项目。
我认为“静态链接”意味着添加程序集引用,这不是一回事。
https://stackoverflow.com/questions/43912970
复制相似问题