【问题标题】:How can I compile a .cpp file to ELF binary in windows WITHOUT WSL or any virtual linux, with clang?如何在没有 WSL 或任何虚拟 linux 的情况下使用 clang 在 Windows 中将 .cpp 文件编译为 ELF 二进制文件?
【发布时间】:2022-12-28 22:19:17
【问题描述】:

我想只使用一个windows系统来获取编译好的linux文件。 可能吗? (为什么它对我有用?为了 CICD 的目的。)

我也对相反的方式感兴趣。所以,用 clang 在 linux 系统中制作 windows .exe-s。

【问题讨论】:

  • C++ 程序不仅仅是它的源代码。为了编译和构建一个可执行的 Linux 程序,需要有特定于 Linux 的头文件和 C++ 程序链接的所有 Linux 库。如果没有某种已安装的 Linux 系统,您认为您可以从哪里获得所有这些?
  • 我能理解,但为什么我要运行整个操作系统只是为了给编译器一些额外的数据。我会提供一个包含所有 Linux 内容的离线 WSL 文件,但不要使用我的处理器。这只是数据。
  • 例如,您可以尝试下载 Gentoo stage archives,它包含带有所有库的整个 linux 系统结构,并将 clang 指向它。不能保证它会工作,只设置 docker 或 wsl 机器会更容易,如果它在不编译时空闲,它不会占用太多资源。
  • 你可以在 linux 上运行的 mingw 允许你做相反的意思在 linux 上构建 windows 二进制文件。

标签: c++ linux windows clang cross-compiling


【解决方案1】:

C:UsersinsysDesktopLLVM-15.0.6-win64inclang++ --target=i686-pc-linux -fuse-ld=lld -nostlib -o zpipe aa.cpp --verbose

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    相关资源
    最近更新 更多