0

我已经使用 boost.asio 在视觉 CLR 项目中成功实现了一个网络应用程序。但是当我尝试在 Windows 窗体项目中使用 boost.asio 推荐的通用“语言运行时支持 (/clr)”时,它不起作用Error 15 error LNK2022: metadata operation failed (8013119F) : A TypeRef exists which should, but does not, have a corresponding TypeDef: (dummy): (0x01000019)

我的问题是如何在 Windows 窗体项目中使用 boost.asio 集成我的网络代码。我现在要尝试的是在不同的项目中将所有 boost.asio 实现编译为“无公共语言运行时支持”作为动态库,并将其与 windows 窗体项目链接。

同时,如果你们中的任何人已经尝试过,请帮助我节省一些时间。

4

2 回答 2

1

看来您正在使用 boost::thread。根据这个错误报告、这个问题以及我的个人经验,当静态链接时,boost::thread 将无法与 C++/CLR 项目一起使用。您应该将它们放在非托管库中,然后使用该库,就像您自己说的那样。

于 2012-06-22T05:47:49.677 回答
0

@Mohammad 我想我想通了。我需要在一个空项目中手动添加表单,然后在其中包含 boost/asio。在 Windows 窗体项目中加载 boost/asio 它本身不起作用可能是因为预编译的头文件。现在我必须弄清楚提升线程问题。就像你说的,我会尝试你提出的方法并让你知道。

于 2012-06-25T09:36:59.727 回答