为Windows和Linux发行版编译apache模块

为Windows和Linux发行版编译apache模块,linux,apache,visual-c++,compilation,shared-libraries,Linux,Apache,Visual C++,Compilation,Shared Libraries,我已经用C语言编写了一个Apache2模块,现在我正在分发该模块 我不确定有关Apache模块分发的标准实践,因此我正在考虑为一些更常见的平台提供二进制文件,如Windows和Ubuntu等 我有两个问题要问- 在我的Linux发行版(Ubuntu10.04)上编译的模块也能在其他Linux发行版上运行吗?(我只有一台机器,所以无法测试)。顺便说一下,编译后的模块是一个共享对象文件 我找不到关于如何在windows上编译apache模块的任何参考或指南,因此如果您能提供一些关于这方面的指导,那将

我已经用C语言编写了一个Apache2模块,现在我正在分发该模块

我不确定有关Apache模块分发的标准实践,因此我正在考虑为一些更常见的平台提供二进制文件,如Windows和Ubuntu等

我有两个问题要问-

  • 在我的Linux发行版(Ubuntu10.04)上编译的模块也能在其他Linux发行版上运行吗?(我只有一台机器,所以无法测试)。顺便说一下,编译后的模块是一个共享对象文件

  • 我找不到关于如何在windows上编译apache模块的任何参考或指南,因此如果您能提供一些关于这方面的指导,那将是非常感谢的

  • 谢谢

  • 答案是……可能。如果apache模块和其他系统是使用类似版本的gcc编译的,那么一切都应该正常。如果它们不一样,那么就有可能出现问题。这取决于gcc版本,以及您传递给gcc进行编译的选项 其他人更有资格详细说明如何使二进制文件在发行版之间更易于移植

  • CMake是一个非常流行的工具,用于编译在windows中工作的C代码。您应该能够使用apt get安装它
    请查看Sun的VirtualBox之类的软件,以实现轻松的虚拟化,这将允许您快速设置和测试其他发行版,而不会影响引导或实际操作系统安装。有人喜欢这个问题,所以为了完成回答,我发布了以下评论:对于在Windows上编译模块,还有一个适用于windows的APXS工具:我们可以使用它在win32上编译模块。谢谢。是的,我相信其他共享库的版本和用于在目标机器上编译apache的GCC版本会出现问题,这就是为什么我无法决定如何打包和分发模块,它实际上是一个C文件,所以制作一个.deb或.rpm包似乎有些过分:)关于windows二进制文件,我在Apache网站上看到,他们使用VisualC++(专业人员)来编译Windows的二进制文件,因为其他编译器在Windows上有一些问题,因此应该使用与Apache编译的编译器相同的编译程序来编译模块。