gpt4 book ai didi

c++ - 如何将 Unix 库添加到 Visual Studio 进行交叉编译?

转载 作者:行者123 更新时间:2023-11-30 05:10:48 51 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 上进行交叉编译,但它似乎无法找到 Unix 库。我收到以下错误:

cannot open source file "unistd.h"
cannot open source file "sys/socket.h"
cannot open source file "netinet/in.h"
cannot open source file "arpa/inet.h"
cannot open source file "netdb.h"

要么我的谷歌游戏很弱,要么根本没有让 VS 找到 Unix 库的答案。

有什么想法吗?

编辑:澄清一下,这是使用 WSL 的交叉编译

最佳答案

有可能,我个人知道同一设置中的多个项目(VS IDE + 非 ms 编译器)。

当您进行交叉编译时,您使用的是 VS IDE,但使用的是不同的编译器二进制文件(可能是 gccllvm)。

Visual Studio主要是一个IDE(集成开发环境),即编辑源代码和调用编译器的GUI程序。它还包含 Microsoft 的 C 编译器(我记得,它称为 vcc.exe)。它是一个命令行 C 编译器,即它获取源代码、许多头文件和库以及编译标志,并从中生成目标文件。

VS IDE 的许多选项是配置和更改标志,用它们调用 vcc.exe

当然,这些标志与任何其他编译器二进制文件完全不兼容。例如,对于 vcc,您使用 /INCLUDE 定义 header ,对于 gcc,您使用 -I 来完成相同的任务。您无法从 VS IDE 中设置这些。

但是,您可以为其添加简单的额外标志。

VS 也有它的构建机制,nmake,它只与 GNU Make(或其他构建器)部分兼容。您可以在菜单系统中找到构建命令(我记得,它位于“选项”下方的某处),您可以使用 Cygwin 的 GNU Make,甚至是 Ubuntu bash。并将其称为构建命令。

关于c++ - 如何将 Unix 库添加到 Visual Studio 进行交叉编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45488439/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com