Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 添加非托管C++;dll到托管C++;动态链接库_C++_Visual C++_C++ Cli - Fatal编程技术网

C++ 添加非托管C++;dll到托管C++;动态链接库

C++ 添加非托管C++;dll到托管C++;动态链接库,c++,visual-c++,c++-cli,C++,Visual C++,C++ Cli,我试图向托管(CLI)C++ DLL项目添加非托管C++ DLL。当我单击“类向导”时,我得到一条“MFC类只能添加到MFC项目”错误消息。据我所知,我没有使用MFC(在非托管dll的项目页面下,MFC的使用是空白的)。是否有其他方法将非托管dll添加到我的托管dll的项目中 对于任何感兴趣的人,我已经在我的DropBox帐户上抛出了一个罕见的解决方案: 我意识到有太多的设置对我来说可能是错误的,我无法简单地将所有内容复制并粘贴到可用空间中 此解决方案中有三个项目。CplusplusArray(

我试图向托管(CLI)C++ DLL项目添加非托管C++ DLL。当我单击“类向导”时,我得到一条“MFC类只能添加到MFC项目”错误消息。据我所知,我没有使用MFC(在非托管dll的项目页面下,MFC的使用是空白的)。是否有其他方法将非托管dll添加到我的托管dll的项目中

对于任何感兴趣的人,我已经在我的DropBox帐户上抛出了一个罕见的解决方案:

我意识到有太多的设置对我来说可能是错误的,我无法简单地将所有内容复制并粘贴到可用空间中

此解决方案中有三个项目。CplusplusArray(应该是完整的,它是非托管的.dll)、ManagedCPlusPlusArray(需要添加非托管的dll,并修改一些东西,它是托管的.dll)和C#测试程序(尚未编写,希望通过托管的dll与非托管的dll对话)


如果你想知道的话,这个项目的全部目标是让C#能够使用带有long的数组作为索引器。如果您以前使用过任何数量的.Net,则可能会遇到CLR中对象大小的Int32/Uint32限制。我希望通过在C++域中实现数组来解决这个问题,然后修改/编译一些Muno集合,泛型类来反对它,从而给我们一些喘息的空间。我做C++的原因是C++,CL+-> C++,所以,根据我的研究,我们可以使用面向对象的代码来使用它。DllImport的东西只适用于类似C的函数,我想保留OOP,而不是修改东西使之类似C。因为数组是List/etc类的构建块,从我所能说的,集合名称空间的构建块来看,让它们在64位空间中运行将为我们提供其他一切

您需要添加新项目,而不是新类。一旦你“添加项目”,你会被问到你想要添加什么类型的项目,一个普通的C++ DLL将是你的选项之一。

一旦解决方案中有两个项目(C++ +CLI DLL项目和C++ DLL项目),就可以进入工作空间依赖关系,并指示它们中的一个依赖于另一个。


补充说明:

类向导是关于添加MFC类的。因为您对添加MFC类不感兴趣,所以这不是合适的工具

<>我编写了一个使用C++ C++动态链接库的C++/CLI DLL,需要添加指令链接到C++ DLL的导入库。这是在中配置的:
“项目属性>配置属性>链接器>输入>其他依赖项”


工作区依赖项保证首先生成非托管库,并且如果更新非托管库,托管库将在需要时重新编译或重新链接。

请允许我重申->现在解决方案中有3个项目。一个项目是C++ DLL,另一个是托管C++ DLL,第三个是C×WiFrices测试仪。我正在遇到的问题是,C++ DLL似乎不想添加到托管C++ DLL项目中,因为它似乎认为它是一个支持MFC的DLL(我已经尽我所能去清除它的MFC,但无济于事)。不过,我将研究“工作区依赖性”,看看这是否可以解决问题。好的,我只是再次阅读了你的问题。让我在上面补充一些注释。