Windows系统VMware创建多个CentOS7虚拟机 NAT网络配置 ssh连接

主要目标:
1.创建3个虚拟机, centos7系统
2.虚拟机之间互相访问
3.物理机访问各虚拟机, 通过xshell建立ssh连接
4.物理机网络变化时,仍能访问

用途:
NoSQL课程使用, 课前环境搭建,个人备忘

基本信息:
物理机: windows 11 操作系统
虚拟机软件:VMware Workstation Pro 16.2.4 (之前安装,非最新版本)
虚拟机安装系统: Cent OS 7-2009

1.基础环境搭建

Windows 系统通过 VMware 搭建 CentOS 7 系统的首台虚拟机

该首台虚拟机可自定义命名, 以下用NoSQL_1 代指.

windows物理机当前环境

物理机: Windows 11 , 准备60G以上空余磁盘空间

网络: 连接Wifi, 家用无线路由器, 路由器设置IP与MAC绑定,用于环境搭建期间物理机的IP固定,方便测试; 全部搭建完成后物理机ip地址可变.

1.1 下载centos7安装文件

阿里云centos镜像站

https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.78c11b11B5M2K7

CentOS-7-x86_64-2009.iso下载地址

https://mirrors.aliyun.com/centos/7/isos/x86_64/?spm=a2c6h.25603864.0.0.5ad64511utjqH4

选择dvd或everything均可
在这里插入图片描述

1.2 Windows物理机准备

1.2.1 安装 VMware Workstation 16 Pro

下载地址:

https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0
在这里插入图片描述
下载后安装,使用超过一个月则需填写许可证秘钥

安装成功的标志有两项:

(1) win + r -> ncpa.cpl

打开控制面板网络适配器页面,出现两个虚拟接口: VMnet1VMnet8
在这里插入图片描述

(2) win + r -> services.msc

打开windows本地服务, 确认出现四个服务.

根据VMware版本不同,服务数量可能不同,本文使用vmware版本为16.2.4

将vmware的相关服务的启动类型均设置为自动
在这里插入图片描述

问题解决:

如果上述两项成功标志不满足, 可以在vmware的“编辑”下的“虚拟网络编辑器”中点击“更改设置“、”还原默认设置”,可重新将虚拟网卡还原,并需要重启物理机,然后查看是否恢复。

由于本物理机此前使用vmware安装过虚拟机,长期禁用适配器vmnet8后网络出现故障,因此进行了还原默认设置.

1.2.2 Windows防火墙设置

以下设置允许虚拟机ping物理机

Windows Defender 防火墙 -> 高级设置 -> 入站规则

找到

文件和打印机共享(回显请求-ICMPv4-In)

文件和打印机共享(回显请求-ICMPv6-In)

四项状态均调整为已启用,允许
在这里插入图片描述

windows设置中,防火墙和网络保护, 如果以后将防火墙还原为模式设置,或更改了域、专用、公用网络的防火墙状态,入站规则也会发生变化,出现问题时可检查此处。

1.3 VMware配置NAT模式

  • 配置过程可参考:

    https://blog.csdn.net/YeMaZhi/article/details/105043073

  • NAT模式原理:

    NAT(地址转换模式)

    NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。

    在NAT模式中,主机网卡与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟网关VMnet8上,主机的虚拟网卡与虚拟网关VMnet8相连,
    实现虚拟机的联网、主机与虚拟机的连接。

    物理机上的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。

  • 配置思路:

    adpter vmnet8、各centos7虚拟机、vmnet8交换机,三方保持在同一个网段,且ip不重复

例如:

VMware Network Adapter VMnet8:

IPADDR: 192.168.108.201

NETMASK:255.255.255.0

GATEWAY:192.168.108.1

DNS1: 8.8.8.8

虚拟机1: nosql01

IPADDR:192.168.108.11

NETMASK:255.255.255.0

GATEWAY:192.168.108.1

DNS1: 8.8.8.8

DNS2: 114.114.114.114

虚拟机2: nosql02

IPADDR:192.168.108.x


此处的x不能与网关、其他虚拟机、Adapter VMnet8的ip地址冲突,且不能为0或255
NETMASK,GATEWAY,DNS1,DNS2 设置相同

注意:

(1)虚拟机的网络设置可采用三种网络模式Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。三种模式的区别可参考: https://blog.csdn.net/zhang33565417/article/details/97779579

(2)vmware中的虚拟网络编辑器,可针对三种网络模式分别配置各自对应的虚拟交换机VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式)

(3)本次搭建采用NAT网络模式,VMware Network Adapter VMnet8的作用是主机与虚拟机之间的通信,用于远程连接虚拟机.

(4)虚拟机的子网段不应和物理机网段相同.

本次搭建的网络结构:
在这里插入图片描述
如已经成功安装了1个虚拟机, 并熟悉vmware的设置、linux常用命令,可按照上图配置, 然后克隆虚拟机完成网络配置.
下文为详细步骤.

1.3.1 设置vmnet8虚拟交换机

vmware 编辑->虚拟网络编辑器->选中 vmnet8 ->更改设置
在这里插入图片描述

修改:

子网IP: 192.168.108.0, 该网段与物理机不在同一网段

子网掩码:255.255.255.0

继续点击->NAT设置

在这里插入图片描述

修改

网关IP: 192.168.108.1 此处与刚才设置的vmnet8的子网段处于同一网段(108),末尾设置为1

记住这个网关IP: 192.168.108.1,作为vmnet8虚拟网关的IP,用于虚拟机与外部通信

修改完成后->确定->返回虚拟网络编辑器窗口->应用->确定

1.3.2 固定adpter vmnet8虚拟网卡的IP

win + r -> ncpa.cpl

选择 VMware Virtual Ethernet Adapter for VMnet8 -> 右键->属性->选中 Internet协议版本4(TCP/IPv4)

在这里插入图片描述

填写固定ip地址

IPADDR: 192.168.108.201

ip地址不能冲突,与vmnet8虚拟网关在一个网段

NETMASK:255.255.255.0

GATEWAY:192.168.108.1

网关为vmnet8虚拟网关的ip地址

DNS1: 8.8.8.8

至此VMware端的网络配置完成, 完成后再安装CentOS7

1.4 VMwareWorkstation安装CentOS7

1.4.1 新建空的虚拟机

VMware新建虚拟机
在这里插入图片描述

自定义(高级)
在这里插入图片描述
在这里插入图片描述

选择稍后安装操作系统
在这里插入图片描述
在这里插入图片描述

虚拟机名称
可自定义虚拟机名称, 此处命名为 NoSQL_1
选择虚拟机保存的位置
在这里插入图片描述

1核
在这里插入图片描述
1024MB内存
在这里插入图片描述

使用NAT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建新磁盘
最大磁盘大小:建议20G, 但本机的剩余空间不多,此处选择10G
虚拟磁盘拆分成多个文件
在这里插入图片描述
在这里插入图片描述

创建空的虚拟机完成
下一步安装CentOS7

1.4.2 安装CentOS7

虚拟机NoSQL_1 -> 编辑虚拟机设置
在这里插入图片描述

cd/dvd -> 使用ISO映像文件 -> 浏览 -> 选择已下载好的centos7 iso安装文件
在这里插入图片描述

确定 -> 开启此虚拟机
在这里插入图片描述

开始安装centos7
语言: english 或 chinese
在这里插入图片描述

时区:Asia/Shanghai
在这里插入图片描述
在这里插入图片描述

安装位置: 默认自动分区
在这里插入图片描述
在这里插入图片描述

网络和主机名:
在这里插入图片描述

打开网络连接, 设置主机名为 nosql01,应用, 作为首台虚拟机的主机名, Done(完成)
在这里插入图片描述

开始安装
在这里插入图片描述

安装期间, 可设置root密码
在这里插入图片描述

设置用户名密码, 并熟记密码

按两次 Done
在这里插入图片描述

等待安装完成, 重启
在这里插入图片描述

重启后默认进入第一个系统

输入登录的用户名:root

输入密码: 输入的密码屏幕不显示,请确保输入正确

在这里插入图片描述

备注:

软件选择的是最小安装 minimal install, 包含的软件包少

用户:root

密码:刚才输入的密码

1.5 CentOS7虚拟机设置固定IP

进入到网卡编辑目录 可通过tab键补全

cd /etc/sysconfig/network-scripts/

查看文件列表

ls
在这里插入图片描述

不同的centos,网卡文件名会有不同,但开头都是ifcfg- ,此处显示ifcfg-ens33.

ifcfg-lo是本地回环接口,不是实际的网卡

编辑网卡

vi ifcfg-ens33

输入 i 进入编辑模式

编辑完成后

按ESC键 进入命令模式

输入 :wq 保存并退出

在这里插入图片描述

注意以上红框部分

ipaddr需在vmnet8虚拟网关的同一网段108

gateway设置成vmnet8虚拟网关的IP

dns设置两个

此时网卡配置完成, 但未生效

重启网卡使其生效

systemctl restart network.service

查看各网卡的ip地址

ip addr

在这里插入图片描述

ip已固定,ping测试外网和物理机

测试ping外网

ping www.baidu.com

看到有正常的输出则ctrl + c 终止

测试ping物理机

ping 192.168.0.102

这个192.168.0.102是物理机的ip地址

看到有正常的输出则ctrl + c 中断

在这里插入图片描述

[!note]

注意:windows物理机的ip地址查看方式

win + r -> cmd

如果物理机连接的是有线网,则看以太网适配器

如果物理机连接的是无线网,则看无线局域网适配器WLAN

在这里插入图片描述

1.6 关闭虚拟机防火墙

查看防火墙状态:

systemctl status firewalld

关闭正在运行的防火墙:

systemctl stop firewalld

禁止防火墙服务, 重启后不再自动开启:

systemctl disable firewalld

如果成功禁止则显示removed ....等信息

关闭selinux安全子系统

vi /etc/selinux/config

修改SELINUX=disabled

重启使修改生效

reboot
在这里插入图片描述

1.7 修改虚拟机主机名

在安装centos时已经修改了hostname

若想再次修改, 可使用如下命令

查看当前主机名:

hostname

设置即使重启后也生效的主机名:

格式为hostnamectl set-hostname 主机名

此处设置为:

hostnamectl set-hostname nosql01

该虚拟机作为nosql集群的第一台机器

1.8 保存快照

虚拟机 右键->快照->拍摄快照
在这里插入图片描述
在这里插入图片描述

[!warning]

网络配置完成,测试ping命令成功后,一定要保存快照,用于保存虚拟机状态, 出现问题时快速恢复

1.9 SSH远程连接虚拟机

安装XShell7

安装完成后, 解决数字小键盘不能输入数字的问题

文件->默认会话属性

初始数字键盘模式->设置为普通

在这里插入图片描述

连接虚拟机

文件->新建
在这里插入图片描述

用户名和密码填写虚拟机root用户的信息

在这里插入图片描述

成功连接后,可执行命令,效果:

在这里插入图片描述

当虚拟机开启后, 就可通过远程连接工具连接使用

测试成功后, vmware的客户机(虚拟机)以后可挂起,保持当前状态, 不要轻易关闭
如果虚拟机挂起后还要关机, 则开启虚拟机后,在centos系统内部进行关机, 不要在vmware中进行外部关机

2.虚拟机克隆生成NoSQL_2

2.1 克隆虚拟机NoSQL_1

关闭首台虚拟机NoSQL_1

NoSQL_1 右键->管理->克隆

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过克隆NoSQL_1,生成NoSQL_2, 开启NoSQL_2,进行其他配置

2.2 配置NoSQL_2

更改主机名

hostnamectl set-hostname nosql02

重启生效

reboot

分别查看NoSQL_1和NoSQL_2网卡的uuid

nmcli con show

在这里插入图片描述

发现两台虚拟机的uuid相同

接下来使用uuidgen命令,为NoSQL_2生成uuid并写入网卡文件

先查看网卡名称

cd /etc/sysconfig/network-scripts/

ls

在这里插入图片描述

确认网卡名称是ifcfg-ens33

使用uuidgen命令生成uuid并写入网卡文件ifcfg-ens33

sed -i '/UUID=/c\UUID='`uuidgen`'' /etc/sysconfig/network-scripts/ifcfg-ens33重启生效
reboot

重启后查看ifcfg-ens33网卡文件中uuid是否已被修改

先查看网卡名称

cd /etc/sysconfig/network-scripts/

ls

修改该网卡文件

vi ifcfg-ens33

在这里插入图片描述

uuid已发生变化,但ip地址仍是nosql01主机的ip,接下来继续修改IP地址IPADDR

按 i 进入编辑模式

修改IPADDR字段, 与NoSQL_1的ip地址不能重复

完成修改后, 按 ESC 进入命令模式

输入 :wq 保存并退出

在这里插入图片描述

重启网卡使其生效

systemctl restart network

查看各网卡的ip地址

ip addr

在这里插入图片描述

测试连接公网

ping baidu.com

测试连接物理机

ping 192.168.0.102
在这里插入图片描述

此时xshell已经可以远程连接
在这里插入图片描述

其他命令

ctrl + l 清屏

rpm -qa | grep ssh 查看是否已安装ssh服务

ps -e | grep sshd 查看是否已开启sshd服务

windows远程连接工具:

SecureCRT

XShell

2.3 配置hosts

配置IP映射

vi /etc/hosts

按 i 进入编辑模式

添加两行:

192.168.108.11 nosql01
192.168.108.12 nosql02

按 ESC 进入命令模式, 输入 :wq 保存并退出

重启网络使修改生效

systemctl restart network
在这里插入图片描述

[!note]

添加其他虚拟机节点后,可修改每一台虚拟机的host文件,添加各个节点的ip地址

虚拟机保存快照

克隆其他虚拟机过程与上述步骤同理

3.创建系统目录结构

以NoSQL_2为例, 创建系统目录结构

在/opt目录下创建software目录存放软件,servers目录存放数据库

cd /opt

mkdir /software

mkdir /servers

列出当前文件或目录的详细信息, 查看是否创建成功

ll

继续创建存放不同数据库的目录

mkdir /opt/servers/mongodb_demo
mkdir /opt/servers/hbase_demo
mkdir /opt/servers/redis_demo
mkdir /opt/servers/neo4j_demo

列出当前文件或目录的详细信息, 查看是否创建成功

ll

虚拟机保存快照

4.虚拟机克隆生成NoSQL_3

NoSQL_2 -> 管理 -> 克隆-> 完整克隆 -> 命名: NoSQL_3

更改主机名

hostnamectl set-hostname nosql03

reboot

生成并更新uuid

查看当前uuid, 记忆尾号, 网卡名称
nmcli con show核实网卡名称
cd /etc/sysconfig/network-scripts/
ls生成uuid并更新到网卡配置文件中
sed -i '/UUID=/c\UUID='`uuidgen`'' /etc/sysconfig/network-scripts/ifcfg-ens33
reboot

修改网卡配置:

cd /etc/sysconfig/network-scripts/
ls

vi ifcfg-ens33

核实uuid已经更新

修改IPADDR192.168.108.13, 保持唯一性

在这里插入图片描述

systemctl restart network

ip addr

核实网卡地址已经更新

测试网络:

分别连接外网, 连接物理机, 物理机ip使用宿主机的实际ip

ping baidu.com

ping 192.168.0.102

xshell连接NoSQL_3的ip:192.168.108.13

配置hosts文件的IP映射:

添加现有的3个虚拟机节点, 更新hosts

vi /etc/hosts

末尾添加为:

192.168.108.11 nosql01

192.168.108.12 nosql02

192.168.108.13 nosql03

systemctl restart network

5.其他虚拟机更新hosts

修改hosts文件

vi /etc/hosts

末尾更新为:

192.168.108.11 nosql01

192.168.108.12 nosql02

192.168.108.13 nosql03

systemctl restart network

至此虚拟机之间可实现便捷的互相访问

ping nosql01

ping nosql02

ping nosql03

各虚拟机保存快照

6.其他问题

物理机重启后,xshell无法远程登录

确认以下项目:

(1)services.msc中vmware相关服务已启动

(2)ncpa.cpl中vmnet8的ip使用的是配置的固定ip\子网掩码\网关\dns

(3)防火墙高级设置的入栈规则 ICMP允许\已启用

(4)物理机能正常访问网络

以上均无问题,可依次采取下列不同方案:

(1)虚拟机已经启动后,再等1-2分钟,xshell能正常连接,问题解决

(2)仍未解决,则将虚拟机恢复到上一个快照(该快照需确保当时远程连接成功),问题解决

注意事项:

(1)虚拟机关机采用centos系统内部关闭, 例如init 0,减少问题发生概率

(2)虚拟机挂起后,不要通过vmware再去关闭, 需要虚拟机开机后, 在其centos系统内部进行关机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/684426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据发送程序

#include<reg51.h> //包含单片机寄存器的头文件 unsigned char code Tab[ ]{0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //流水灯控制码&#xff0c;该数组被定义为全局变量 /***************************************************** 函数功能&#xff1a;向PC发…

OpenCV 移动最小二乘图像变形

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 在现实生活中,我们常常应用一些刚性的变换来实现物体的旋转平移,对于非刚性的变换我们都没有在意,其实这种变换也是无处不在的,如我们经常看的动画就可以通过一些非刚性的变换达到一些非常夸张的效果。这里,我…

SPI控制8_8点阵屏

协议与硬件概述 SPI SPI是串行外设接口&#xff08;Serial Peripheral Interface&#xff09;的缩写。是一种高速的&#xff08;10Mbps&#xff09;的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚上只占用四根线。 引脚介绍 SCLK&#xff1a;…

牛客二叉树

Problem: 二叉树 文章目录 思路解题方法复杂度Code 思路 这是一个典型的动态规划问题。我们可以定义dp[i][j]为节点个数为i且树的高度不超过j的二叉树的数量。我们可以通过枚举左子树和右子树的节点数量&#xff0c;来计算dp[i][j]的值。具体来说&#xff0c;对于每一个节点数量…

备战蓝桥杯---图论之最短路Bellman-Ford算法及优化

目录 上次我们讲到复杂度为&#xff08;nm)logm(m为边&#xff0c;n为点&#xff09;的迪杰斯特拉算法&#xff0c;其中有一个明显的不足就是它无法解决包含负权边的图。 于是我们引进Bellman-Ford算法。 核心&#xff1a;枚举所有的点&#xff0c;能松弛就松弛&#xff0c;直…

孤岛上的笔记本电脑:生存、求索与创新的工具

在面对被放置于一座孤岛的极端情境下&#xff0c;身边的笔记本电脑不仅仅是一个科技产品&#xff0c;更可能成为我连接世界、维持生存、探索未知以及寻求救援的重要工具。以下将从三个方面阐述这一观点。 首先&#xff0c;生存保障方面&#xff0c;一台联网的笔记本电脑可以提供…

利用修改邻接变量

资源下载 【免费】突破密码认证程序&#xff08;修改邻接变量&#xff09;资源-CSDN文库 资源内容 源码 /*****************************************************************************To be the apostrophe which changed "Impossible" into "Im possib…

【AI绘画】硬核解读Stable Diffusion(完整版) 小白必收藏!!!

手把手教你入门绘图超强的AI绘画&#xff0c;用户只需要输入一段图片的文字描述&#xff0c;即可生成精美的绘画。给大家带来了全新保姆级教程资料包 &#xff08;文末可获取&#xff09; 2022年可谓是AIGC&#xff08;AI Generated Content&#xff09;元年&#xff0c;上半年…

爱上JVM——常见问题:JVM组成(一)

1 JVM组成 1.1 JVM由那些部分组成&#xff0c;运行流程是什么&#xff1f; 难易程度&#xff1a;☆☆☆ 出现频率&#xff1a;☆☆☆☆ JVM是什么 Java Virtual Machine Java程序的运行环境&#xff08;java二进制字节码的运行环境&#xff09; 好处&#xff1a; 一次编写&…

深度学习基础之《TensorFlow框架(1)—TF数据流图》

一、TensorFlow实现一个加法运算 day01_deeplearning.py import tensorflow as tfdef tensorflow_demo():"""TensorFlow的基本结构"""# TensorFlow实现加减法运算a_t tf.constant(2)b_t tf.constant(3)c_t a_t b_tprint("TensorFlow加…

Spring AOP的实现方式

AOP基本概念 Spring框架的两大核心&#xff1a;IoC和AOP AOP&#xff1a;Aspect Oriented Programming&#xff08;面向切面编程&#xff09; AOP是一种思想&#xff0c;是对某一类事情的集中处理 面向切面编程&#xff1a;切面就是指某一类特定的问题&#xff0c;所以AOP可…

leetcode 99场双周赛

2578. 最小和分割 - 力扣&#xff08;LeetCode&#xff09; 给你一个正整数 num &#xff0c;请你将它分割成两个非负整数 num1 和 num2 &#xff0c;满足&#xff1a; num1 和 num2 直接连起来&#xff0c;得到 num 各数位的一个排列。 换句话说&#xff0c;num1 和 num2 中…

【Flink专栏 03】深入理解Flink的Watermark:实时流处理的时间概念与乱序处理

文章目录 01 基本概念02 工作原理03 优势与劣势04 核心组件05 Watermark 生成器 使用06 应用场景07 注意事项08 案例分析8.1 窗口统计数据不准8.2 水印是如何解决延迟与乱序问题&#xff1f;8.3 详细分析 09 项目实战demo9.1 pom依赖9.2 log4j2.properties配置9.3 Watermark水印…

【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——自我介绍(英文)

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 自我介绍 英文 自我介绍 英文 第一段&#xff1a; Good afternoon, dear professors, thank you for the chance to introduce myself. My name is Yan Zhen …

MTR++论文阅读

https://zhuanlan.zhihu.com/p/654070149 文章亮点&#xff1a; Dense Future Prediction for All Agent&#xff1a;将预测的结果也encode起来&#xff0c;用于平衡障碍物之间的预测结果。不过在infer的时候这一部分不会进行用数据集聚类获得query轨迹点&#xff08;goal 点&…

ChatGPT高效提问—prompt实践(白领助手)

ChatGPT高效提问—prompt实践&#xff08;白领助手&#xff09; ​ 随着社会的不断发展&#xff0c;白领的比例越来越高。白领的工作通常较为繁忙&#xff0c;需要管理复杂的项目。工作量大、要求高、任务紧急&#xff0c;时间分配不当部分可能导致工作效率低下&#xff0c;任…

力扣_字符串9—单词接龙I、II

题目 按字典 w o r d L i s t wordList wordList 完成从单词 b e g i n W o r d beginWord beginWord 到单词 e n d W o r d endWord endWord 转化&#xff0c;一个表示此过程的 转换序列 是形式上像 b e g i n W o r d − > s 1 − > s 2 − > . . . − > s …

java 泛型----T、?的使用

java中T表示泛型。&#xff1f;表示不确定的类型。 jdk使用K表示键&#xff0c;V表示值&#xff0c;T表示type类型,E表示enum枚举。这四个符号只是表示泛型名称&#xff0c;可以换成其他字母&#xff0c;但是需要在之前声明。 参考文章&#xff1a;java泛型&#xff1a;T与?的…

问题:人的安全知识和技能是天生的。() #媒体#知识分享#学习方法

问题&#xff1a;人的安全知识和技能是天生的。&#xff08;) 人的安全知识和技能是天生的。() 参考答案如图所示 问题&#xff1a;&#xff08;&#xff09;是党和国家的根本所在、命脉所在&#xff0c;是全国各族人民的利益所在、幸福所在。 A.人民当家作主 B.坚持和完善…

QT+OSG/osgEarth编译之八十七:osgdb_p3d+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_p3d)

文章目录 一、osgdb_p3d介绍二、文件分析三、pro文件四、编译实践一、osgdb_p3d介绍 P3DXML是Panda3D引擎中使用的一种文件格式,用于描述3D场景的层次结构和属性。它是一种基于XML(eXtensible Markup Language)的文本格式,可以被Panda3D引擎读取和解析。 P3DXML文件包含了…