小编Irp*_*pie的帖子

链接 C++ 和 C++/CLI 项目 (.NET Core) 时导入错误 (E0337)

我目前正在尝试建立一个 .NET 项目。我有一个现有的 C++ 后台项目,我想在 Web 界面上显示它。为此,我试图通过CLR 类库 .NET Core将我的 C++ 链接到 .NET 平台(并最终将其链接到ASP.NET Web 界面,但这是下一步)。

当我尝试将原始文件导入 C++/CLI 项目时,我的问题就出现了。当我尝试导入的文件使用 C++ 向量 ( #include <vector>) 时,我收到 8 个错误,所有错误都包含E0337 linkage specification is incompatible with previous "bsearch_s" (decalred at line 26)在文件corecrt_search.h(作为 Windows 10 工具包文件)中。您可以在此屏幕截图上看到错误的完整内容。

其他错误分别针对函数 qsort_s、bsearch、_lfind_s、_lfind、_lsearch_s、_lsearch 和 qsort 在第 35、48、64、74、83、93 和 56 行。

当我导入的文件不使用向量时不会出现错误。

文件corecrt_search.h确实包含这些函数的两个声明,每个声明都应该在不同的上下文中编译。这是这个文件的一小部分摘录(希望这已经足够了)。

_CRT_BEGIN_C_HEADER

_Check_return_
_ACRTIMP void* __cdecl bsearch(...);


// Managed search routines
#if defined __cplusplus && defined …
Run Code Online (Sandbox Code Playgroud)

.net c++ clr c++-cli

2
推荐指数
1
解决办法
1632
查看次数

标签 统计

.net ×1

c++ ×1

c++-cli ×1

clr ×1