我有一个更大的代码在Linux下运行,用c ++(c ++ 11)和python编写,并使用大量库(VTK,boost,pyqt,OpenGL)编译为python扩展模块(以及这些模块的插件)和纯Python模块(主程序是一个python脚本)。 该代码是跨平台的(除了一些例外,如dlopen
, gettimeofday
可以通过#ifdef的windows等价物替代)和编译器不可知的(用-ansi
编译的,像__attribute__
这样的编译器专用的东西也可以如有需要,可能会被replace)。
我正在试图在Windows上进行编译,但是我完全不知道该如何继续(我对Linux的开发有相当的经验,但自从90年代末以来我没有使用过Windows)。
我应该去mingw或MSVC编译器? 我会更好的交叉编译? 我是否需要通过从网上下载安装程序来“手动”安装依赖项; 我是否也需要编译这些? 包含文件是否有标准path,还是全部被检测到? 如果我设法编译它,怎么可以做一些包(它是一组纯Python模块和共享库)?
我想我不是第一个看到它在Windows下是如何工作的(我认为我被包pipe理者和Linux中的所有开发者友好的东西所宠坏),也许在某个地方有一个有用的参考。
我认为你的选择取决于你在Windows下编译的目标。 你准备让其他可以选择开发平台的开发者参与吗? 你想使用不同的编译器来生成额外的警告吗? 你是否希望在Windows平台上部署应用程序? 询问这些问题应该有助于你作出更明智的决定。
这里有一些建议…