在Windows和Linux上进行交叉编译

ant*_*009 6 c

我正在开发一个必须在Windows和Linux上运行的应用程序.

到目前为止,我使用我的Makefile 在使用GCC 4.4.1的Linux上运行它.

但是,我还需要在Windows上编译.源代码将在Windows上编译,因为我已经#defined分隔了不同编译器的代码的所有区域.即:

#ifdefined (LINUX)
/* Do linux stuff */
#else
/* Do windows stuff */
#endif
Run Code Online (Sandbox Code Playgroud)

到目前为止,代码非常简单,因为我刚刚开始这个程序.基本上我只想测试我的想法.

但是,它是否像在Linux上编译源代码一样简单?

然后,当我想编译到Windows时,我可以将文件复制到Windows平台.然后在Visual Studio C++中打开源代码文件并创建项目然后编译以创建我的二进制文件?

Ass*_*vie 3

使用 Visual C++是在 Windows 上构建 C 项目的一种方法。但这不是唯一的方法。

VC 有您需要创建的项目文件。但随后意识到您必须在两个不同的位置(make 和 .vcproj)维护构建配置。

还有其他选项:

  • 您还可以在 Windows 上使用make(例如在Cygwin上)
  • nmakemsbuild等。
  • 您还可以使用ant(它可以在两个平台上运行)。

如果我是你,我会尝试使用尽可能少的不同构建工具。