![如何为 VirtualBox 客户机附加组件安装指定编译器?](https://linux22.com/image/1490241/%E5%A6%82%E4%BD%95%E4%B8%BA%20VirtualBox%20%E5%AE%A2%E6%88%B7%E6%9C%BA%E9%99%84%E5%8A%A0%E7%BB%84%E4%BB%B6%E5%AE%89%E8%A3%85%E6%8C%87%E5%AE%9A%E7%BC%96%E8%AF%91%E5%99%A8%EF%BC%9F.png)
我希望能够使用特定版本gcc
在 Ubuntu 14.04 客户机中构建 VirtualBox 5.0.16 客户机附加组件,以避免出现错误。VBoxLinuxAdditions.run --help
没有提供任何信息,也没有构建说明。
我从内置功能Insert Guest Additions CD image
菜单项中获取客户添加二进制文件,该菜单项会在 Ubuntu 内部自动安装 ISO。
答案1
进一步检查源代码后发现,它们使用 automake,您可以使用 Makefile 将用于编译源代码的环境变量来设置编译器。
位置源已模糊处理。要找到完整源代码,您需要找到附加到 VBoxLinuxAdditions.run shell 脚本末尾的 tar 文件并将其解压,它包含两个包含源代码的 tar 文件。(VBoxGuestAdditions-x86.tar.bz2 和 ./VBoxGuestAdditions-amd64.tar.bz2)这是将在客户机上编译的代码。需要对 shell 脚本进行轻微修改才能转储其文件。
一旦您有了源 tar,解压您需要的那个并使用make CC=<path to required gcc>
您应该能够指定您想要构建使用的编译器。
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor