使用Visual Studio在C ++中嵌入Julia

我尝试将Julia v1.4.2嵌入使用Visual Studio 2017 v15.0构建的简单C ++控制台应用程序中。 我遵循https://docs.julialang.org/en/v1/manual/embedding/#High-Level-Embedding-on-Windows-with-Visual-Studio-1上的官方文档。 但是,键入时 #include <julia.h> VS爆炸时会出现一系列25多个错误,例如:

标识符“ PCONTEXT”在errhandlingapi.h中未定义

标识符“ PCONTEXT”在WinBase.h中未定义

标识符“ PSLIST_HEADER”在WinBase.h中未定义

...

iCMS 回答:使用Visual Studio在C ++中嵌入Julia

找到解决方案后,在这里回答我自己的问题。 原来<uv.h>是Julia的一部分,必须包含在<windows.h>之前。

之所以如此,是因为uv.h包含uv / win.h,其中包括winsock2.h。并且winsock2.h防止包含windows.h包含的winsock.h。但是,如果首先包含windows.h并由此包含winsock.h,则winsock2.h将尝试重新定义winsock.h中的所有内容,从而导致一连串错误。

本文链接:https://www.f2er.com/1968607.html

大家都在问