在WSL VS2017中调试C++ - 未知的arch错误

问题描述:

我在vs2017中创建了一个C++ linux项目。 我建立了一个连接到WSL(windows子系统的Linux)。 当我建立或尝试调试,我得到以下错误:在WSL VS2017中调试C++ - 未知的arch错误

Current project architecture ‘x64’ is incompatible with the remote system architecture ” (‘Unknown’). Please switch the project architecture to ” in Configuration Manager

这又如何解决呢?

原来,这是一个糟糕的SSH连接的人为因素。 我认为它试图连接到windows ssh服务器,它劫持连接而不是转发到WSL。

首先,我改变了连接端口在Visual Studio(工具 - >选项 - >跨平台 - >连接管理器)从默认的22至222

另外,我发现下面的步骤上WSL有帮助侧(从https://www.reddit.com/r/bashonubuntuonwindows/comments/5gh4c8/ssh_to_bash_on_wsl/截取):

  • 编辑/ etc/SSH/sshd_config中,改变的监听端口。对于这个演示中,我使用的端口222

  • 变化UsePrivilegeSeparation为 'no'(因为Windows子系统用于Linux的实现不提供的chroot)

  • 变化的PasswordAuthentication为 'yes'

  • 在Windows端为SSH添加防火墙规则,以你的新的监听端口

  • 须藤SSH-凯基-A

  • [R estart SSH服务:sudo的服务SSH --full重启

  • 测试SSH与详细模式在本地连接启用(详细模式可选):本地主机的ssh -p “您的端口,在这里” -v

  • 从另一个系统测试。 (所有应该工作)

+0

您应该使用端口2222作为端口222在1024和保留。事实上,在[保留端口列表](https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers)中,没有应用程序使用它,但这是一个很好的做法。 – Shirkam