Встраивание Julia в C ++ с помощью Visual Studio - PullRequest
1 голос
/ 09 июля 2020

Я пытаюсь встроить Julia v1.4.2 в простое консольное приложение C ++, созданное с использованием Visual Studio 2017 v15.0. Я следую официальным документам по адресу 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

...

1 Ответ

2 голосов
/ 09 июля 2020

Отвечая на свой вопрос здесь, я нашел решение. Оказывается, <uv.h> - который является частью Julia - должен быть включен перед <windows.h>.

Это так, потому что uv.h включает uv / win.h, который включает winsock2.h. Winsock2.h защищает от включения winsock.h, который включен в windows .h. Но если windows .h и, следовательно, winsock.h добавлен первым, то winsock2.h попытается переопределить все в winsock.h, что приведет к строке ошибок.

...