Windows下qemu和cmake的配置


主要用于自用,所以步骤比较简略,描述简单过程和遇上的问题怎么解决的。

qemu的配置

直接去qemu官网下载 qemu下载地址,然后将安装完之后直接在终端中输入qemu-system-x86_64,就会蹦出qemu的页面,关于qemu的指令会放在另外一篇博客来整理。
qemu界面

cmake的配置

下载地址:cmake下载地址
cmake安装过程中直接选择加入环境变量中,就不用再去环境变量中配置,然后终端中直接输入cmake查看是否安装成功,成功安装后的输出如下:cmake在windows安装成功

vscode中的使用

关于extensions

vscode中的配置不多说,要装的extensions大概有:c/c++,cmake tools,cmake,Hex Editor,LinkerScript,Material Icon Theme,x86 and x86_64 Assembly这些。等cmake tools装好后,直接在下方的build处选择相应的编译器。

关于打开断点

关于断点设置,vscode打开设置,在settings里面搜索break,然后把下面这项打上勾即可:
vscode中打开断点

在运行程序的时候遇上的问题

build的一个报错

我的电脑上有好几个gcc编译器,在运行的时候我一开始在cmakelist中使用的是x86_64-w64-mingw32-这个,运行的时候先是出现报错:

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

解决方法参考:关于上述报错的解决参考
找到mingw\bin下的mingw32-make.exe拷贝一份并重命名为make.exe
重新复制一份命名为make

mingw的一个报错

解决了上面那个后,出现另一个报错:

'x86_64-w64-mingw32-ld' 不是内部或外部命令,也不是可运行的程序

参考:找不到ld的原因,我下的mingw的版本里面没有mingw64/lib/libadvapi32.a,下载了这个加入lib文件夹下就没有这个报错了。
关于libadvapi32.a
我找到的一个下载地址:libadvapi32.a有效下载地址

换工具链

之后发现用这个编译x86系统相关的这个程序还是不得行,改成了使用x86_64-elf-tools-windows这个工具链,成功运行。
下载地址:x86_64-elf-tools-windows.zip下载地址
老样子需要配置全局变量path,我直接下载后在c盘解压缩,然后把bin文件路径加到path中。然后在终端测试:输入x86_64-elf-gcc --version,显示如下:
x86_64-elf安装测试
奇怪的是vscode中的scan for kits没有找到我加的这个工具链,直接粗暴地在c_cpp_properties.json中加编译器地址,然后就能找到了。。。
c_cpp_properties.json的打开方式:ctrl+shift+P打开Command Palette,运行C/C++: Edit configurations生成c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/x86_64-elf-tools-windows/bin/"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}",
            "configurationProvider": "ms-vscode.cmake-tools",
            "compilerPath": "C:/x86_64-elf-tools-windows/bin/x86_64-elf-gcc.exe"
        }
    ],
    "version": 4
}

配置完毕,下一篇讲讲qemu和gdb调试器的使用。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Windows 上使用 QEMU 模拟 OpenWrt 路由器时,你需要进行以下网络配置: 1. 创建一个 TAP 网络适配器 在 Windows 上,你需要创建一个 TAP 网络适配器,它将充当 OpenWrt 虚拟机和物理网络之间的桥梁。你可以使用一些第三方软件来创建 TAP 网络适配器,例如 OpenVPN 或 TunTap。 2. 配置 OpenWrt 虚拟机 在启动 OpenWrt 虚拟机之前,你需要对其进行一些网络配置。你可以通过编辑 OpenWrt 虚拟机的配置文件来完成这项工作。以下是一个示例配置文件: ```bash # 确保网卡类型为 virtio-net netdev = user,id=eth0 device = virtio-net-pci,netdev=eth0 # 启用串口 serial = 'pty' # 确保网卡名称为 eth0 kernel_cmdline = "console=ttyS0,115200 root=/dev/sda1" # 设置网卡 IP 地址和网关 network={ type=static ipaddr=192.168.1.2 netmask=255.255.255.0 gateway=192.168.1.1 } ``` 3. 启动 OpenWrt 虚拟机 现在,你可以启动 OpenWrt 虚拟机并测试网络连接是否正常。你可以通过以下命令启动虚拟机: ```bash qemu-system-x86_64 -enable-kvm -cpu host -m 512M -hda openwrt.img -net nic,model=virtio -net tap,ifname=TAP1,script=no,downscript=no -serial stdio ``` 其中 TAP1 是你在第一步中创建的 TAP 网络适配器的名称。这个命令还启用 KVM 虚拟化和串口连接。 4. 配置路由器 现在,你可以登录 OpenWrt 路由器并配置其网络设置。在默认情况下,OpenWrt 路由器的 IP 地址为 192.168.1.1。你可以使用 web 界面或 SSH 连接来进行配置。 在 web 界面中,你可以使用以下步骤进行配置: 1. 打开浏览器并输入 `http://192.168.1.1`。 2. 输入用户名和密码(默认为 root/空密码)。 3. 转到 Network -> Interfaces。 4. 点击 Edit 按钮以编辑 LAN 接口。 5. 在 IPv4 地址字段中输入 192.168.1.1。 6. 在子网掩码字段中输入 255.255.255.0。 7. 点击 Save & Apply 按钮以保存更改。 在 SSH 中,你可以使用以下命令进行配置: ```bash uci set network.lan.ipaddr='192.168.1.1' uci set network.lan.netmask='255.255.255.0' uci commit network /etc/init.d/network restart ``` 现在,你已经成功配置Windows QEMU OpenWrt 的网络连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值