用Visual Studio在C++中嵌入Julia
Embedding Julia in C++ using Visual Studio
我尝试将Julia v1.4.2嵌入到使用Visual Studio 2017 v15.0构建的简单C++控制台应用程序中。我遵循官方文档https://docs.julialang.org/en/v1/manual/embedding/#High-水平嵌入-窗口-与视觉研究-1。但是,在键入时#include <julia.h>
VS在一系列25+错误中爆炸,例如:
标识符"PCONTEXT";在errhandlingapi.h 中未定义
标识符"PCONTEXT";在WinBase.h 中未定义
标识符"PSLIST_ HEADER";在WinBase.h 中未定义
。。。
在这里回答我自己的问题,因为我找到了解决方案。事实证明,作为Julia的一部分的<uv.h>
必须包含在<windows.h>
之前。
之所以如此,是因为uv.h包括uv/win.h,其中包括winsock2.h。winsock2.sh防止包括windows.h所包括的winsock.h。但如果首先包括windows.h,从而包括winsock.h,那么winsock2.h将试图重新定义winsock.h中的所有内容,从而导致一系列错误。
相关文章:
- 用Visual Studio在C++中嵌入Julia
- 在 Julia 中使用 boost 库和 Windows 上的 Cxx.jl
- Cxx.jl 在 Julia Complex 和 std::complex 之间进行转换
- Julia Cxx 在模块中打包不同的行为
- 使用来自 C 的内存地址的 Julia 读取/写入结构数据
- 将具有std ::向量的C 函数称为Julia的输入和输出参数
- 与C++共享 Julia 对象的最有效方法是什么?
- Call Julia SVD from C++
- Julia 集的代码总是在 CUDA C 中生成灰色图像
- 我可以像 Rcpp 在 Julia 中的 stop() 一样在 c 代码中抛出错误吗
- 编译嵌入C++代码中的Julia
- Julia设置渲染代码
- Julia中的数字分隔符
- Julia集的CUDA内核与CPU版本相比性能较慢
- Julia ccall windows