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

时间:2017-07-31 06:46:42

标签: c++ linux visual-studio-2017 windows-subsystem-for-linux

我在vs2017中创建了一个c ++ linux项目。 我设置了与WSL的连接(用于linux的windows子系统)。 当我构建或尝试调试时,我收到以下错误:

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

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

原来它是一个糟糕的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' (因为用于Linux的Windows子系统的实现并不能提供chroot)

  • 将PasswordAuthentication更改为'是'

  • 在Windows端添加防火墙规则,以便SSH连接到新的侦听端口

  • sudo ssh-keygen -A

  • 重启ssh服务:sudo service ssh --full-restart

  • 在本地测试ssh连接,启用详细模式(详细模式可选):ssh localhost -p" your-port-here" -v

  • 从另一个系统测试。 (一切都应该有效)