我有一个名为native.dll的本机c ++ dll 我创建了一个名为cliWrapper.dll的c ++ / cli项目。在这里,我有两个包含在native.dll中的类的包装类。
这个项目的编译工作正常。
但是,当我尝试将cliWrapper.dll与我的c ++ / cli控制台程序链接时,链接器抱怨我必须使用编译器选项/clr:safe
编译cliWrapper.dll。
使用此选项进行编译会产生大量错误,因为大多数native.dll都不是可验证的代码。
在谷歌搜索之后,我看到链接两个.module文件需要使用/ clr:safe编译每个文件。
这是否意味着创建一个允许用户使用包装类来执行某些操作的dll是不可能的?我知道我总是可以把那些包装器类放回到控制台项目中,它会编译没有问题,但我只是好奇微软为什么要禁用这种链接?