小编Set*_*reh的帖子

使用CMake在Windows下针对Linux进行跨平台构建

我正在Windows 32位上使用C++开发一个软件(使用MSVC++),但由于我希望能够在每个平台上使用我的软件,所以我决定使用CMake作为我的构建生成器.

因此,我仍然只是CMake的初学者.从CMake教程中,我了解到为了交叉编译代码,首先应该在主机平台上安装模拟目标平台的工具链.然后使用此工具链提供的适当的目标平台C和C++编译器,CMake将能够生成makefile等.

现在,我想在Win32平台上为Linux平台(GNU/Linux)构建我的代码.我尝试使用CMake结合Cygwin并使用gcc和g ++作为编译器来执行上述过程.它构建了精细的,创建的makefile,当我在Cygwin终端发出"make"时,生成的makefile被"制作".现在我有了一个我希望可以在Linux平台上运行的可执行文件.但在Linux上我得到错误:bash无法执行二进制文件.

使用命令文件executablename,我意识到由上述过程生成的可执行文件是PE32类型,仅适用于Windows.

现在我的问题是:我对使用cmake的跨平台构建过程的理解是否正确?或者我应该在Windows下使用另一个Linux工具链来获取Linux ELF可执行文件?什么工具链出现在你的脑海里,会给我我想要的东西?

非常感谢

火花报

linux cross-platform build cmake toolchain

7
推荐指数
1
解决办法
7823
查看次数

标签 统计

build ×1

cmake ×1

cross-platform ×1

linux ×1

toolchain ×1