【发布时间】:2012-02-07 05:27:34
【问题描述】:
是否可以使用 Visual Studio 2010(不一定是 MSVC 编译器)在 Windows 上开发 C/C++ 并获得可以上传到 linux 机器(并运行它)的二进制文件?
我检查的可能性是使用 MinGW 或类似的东西来让 Windows 二进制文件执行与 linux 二进制文件相同的操作,但我在获取所有需要的库 (posix) 的所有 win 端口时遇到问题。
编辑:我不想让 windows 二进制文件在 linux 上运行。因此,我需要一个原生 linux 二进制文件。
【问题讨论】:
-
是的,你可以。您只需要找到(或自己编写)自定义构建任务来调用您的交叉编译器。此外,您必须找到(或自己构建)一个交叉编译器。这两个步骤都不是特别容易自己做的,但如果你有耐心去做,它们是很可行的(我都做了;总共花了几个星期)。但是,如果您正在为 Linux 构建软件,那么在 Linux 上编译它会容易得多。
-
除了编辑器和运行
make的能力之外,您希望使用IDE 的哪些功能? -
@James:你会推荐什么交叉编译器?
-
@schoetbi:您需要为您的目标构建一个。交叉编译器应针对目标系统上使用的相同 C 运行时和标准库构建。我已经使用crosstool 来针对旧版本的 RHEL,它工作正常,尽管即使使用自动化脚本,您也可能需要至少几天的调整和重建才能获得针对特定目标的工作交叉编译器。您的里程可能会有所不同。
-
[在我看来,您最好编写尽可能多的平台中立代码,并使用像 CMake 这样的跨平台构建系统在两个平台上构建。]
标签: c++ linux visual-studio-2010