我有一个更大的代码在 Linux 中运行,用 c++ (c++11) 和 python 编写,并使用许多库(VTK、boost、pyqt、OpenGL)并编译为 python 扩展模块(和这些模块的插件)和纯 python 模块(主程序是一个python脚本)。该代码是跨平台的(有一些例外,例如dlopen
,gettimeofday
可以通过#ifdef 替换为 Windows 等效项)和编译器无关(它使用 编译-ansi
,并且一些特定于编译器的东西__attribute__
也可以,希望,被替换,如果需要的话)。
我正在尝试在 Windows 上进行编译,但我完全不知道应该如何进行(我对 Linux 的开发经验相当丰富,但自 90 年代后期以来我就没有使用过 Windows)。
我应该选择 mingw 还是 MSVC 编译器?我会更好地交叉编译吗?我是否需要通过从网上下载安装程序来“手动”安装依赖项?我也需要编译这些吗?是否有包含文件的标准路径,或者是否都可以检测到?如果我设法编译它,如何制作某种包(它是纯 python 模块和共享库的捆绑包)?
我假设我不是第一个试图了解它在 Windows 下如何工作的人(我认为我被包管理器和 Linux 中所有对开发人员友好的东西宠坏了),也许在某个地方有一个有用的参考。