如何将Unix库添加到Visual Studio for Cross Compilation?

How to add Unix libraries to Visual Studio for Cross Compilation?

本文关键字:for Studio Cross Compilation Visual Unix 添加      更新时间:2023-10-16

我正在尝试在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定义标头,对于 gcc,您使用-I来完成相同的任务。您无法从 VS IDE 中设置这些内容。

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

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