【发布时间】:2016-02-17 07:14:00
【问题描述】:
我有一个静态库(原生 c++)。
现在我想在 C++/CLi 项目中使用这个静态库。
编译没问题,但是运行时出现错误提示“ntdll.dll!****内存访问冲突”。
静态库和 clr 项目都使用“/MD”。
将 clr 项目链接到本机 c++ 静态库是否有效? 如果是,有什么特别需要注意的配置吗?
附言。我无法将静态库转换为 dll。
【问题讨论】:
-
可能是某些代码没有被正确管理,因此访问冲突,可能是一个封送字符串......虽然可以是任何东西
-
@Niall 感谢您的回复。因此,将 clr 项目链接到静态 c++ 库没有任何问题。似乎程序在遇到我自己的任何代码之前就抛出了。(根据调用堆栈)
-
我没试过;将代码简化为静态库中的一个空函数,构建它,测试它;然后开始一点一点地添加代码。仍然可能是一些导致问题的静态变量初始化代码。
-
我觉得可能是boost.threading造成的。
-
我不确定如何或是否可以使用 boost 和 CLI 组合。您可能需要自定义构建或提供一些自定义功能。