c++ - 将 Visual Studio C++ 移植到 Linux

标签 c++ windows linux visual-studio-2010

我们有一个不是很复杂但(即很多文件)的 Visual Studio C++ Win32 控制台,它是在 VS2010 中用 C++0x 标准编写的。 它不使用任何非标准代码或任何东西(希望如此!)。

我现在想把它移植到 Linux。 哪种方式最快? 自动配置? 老式的 make 文件? 还有其他解决方案吗?

最佳答案

我会使用常规 make,但尽可能使用默认规则保持简单。在进行过程中添加依赖项。

编辑:在中间步骤中,使用 mingw 构建它,这样您就可以避免整个 API 移植问题,直到您在新的构建机制中构建工作。

如果您的控制台应用程序调用 win32 API 函数,那么您可以选择是修改所有使用它的源代码还是编写实现这些函数的模块。

在之前的这种类型的移植工作中,我尝试了两种方法,后者更容易。我最终只编写了大约 18 到 20 个填充函数。

它非常成功,以至于我最终编写了一个在许多项目中使用的操作系统抽象层,让我可以在 Windows native 、cygwin、Linux、VxWorks 等平台上进行编译,只需对一个或两个文件进行微不足道的更改。

(p.s. 对基于 C++ 的操作系统抽象层的开源版本感兴趣吗?如果有足够的兴趣,我正在考虑向世界发布它的无障碍版本。它在 BOOST 太重的情况下最有用——即嵌入式项目。)

关于c++ - 将 Visual Studio C++ 移植到 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3298053/

相关文章:

windows - 如何加快vagrant共享文件夹速度

c++ - 计算字节数组中的零 b 位子序列

c++ - 1857 是 A 的另一个字符代码吗?

c++ - OpenGL 库

c++ - LoadFrame (MFC) 仅在澳大利亚失败

linux - 服务器重新启动后自动运行的 Bash 脚本

c++ - 在 DWARF 信息中,DW_OP 寄存器的确切含义是什么?

Windows API 相当于 "WMIC QFE Get"

java - 如何复制文件名中带有空格的文件

linux - 将 std 错误重定向到文件时的顺序为 2>&1