使用VS2015编译共享库:"此客户端与配对的构建代理不兼容"

时间:2016-03-29 09:19:10

标签: c++ ios node.js npm visual-studio-2015

我使用 Visual Studio Enterprise 2015 Update 1 创建了一个共享库: File > New Project > Templates > Visual C++ > Cross Platform > Shared Library (Android, iOS)

我默认使用以下项目结构:

projectStructureScreenShot

android项目构建成功。但是,当我尝试编译iOS项目(屏幕截图中突出显示的项目)时,会出现问题。

由于需要构建代理,我使用npmvcremote将其安装在Mac上(如下所述:https://msdn.microsoft.com/library/mt147405.aspx)。

我通过进入Tools > Options > Cross Platform > C++ > iOS > Pairing成功地将Visual Studio与Mac配对。

但我仍然收到以下错误:

  

"构建代理请求失败,此客户端与配对的构建代理不兼容。客户端版本" 1.3.0",构建代理版本" 2.3.0"。支持的构建代理版本为:" 2.0.0 - 2.2.0"。请在Mac上使用" npm update vcremote"更新vcremote。"

在Mac终端上,我收到类似的错误消息:

  

" Visual Studio与此构建代理的当前版本不兼容。请使用npm更新vcremote。"

我确实运行了npm update vcremote命令,它现在是最新的,但错误仍然显示出来。此外,似乎构建代理版本的客户端版本太高了。

你们有什么建议?

2 个答案:

答案 0 :(得分:3)

问题是vcremote-lib的版本太高(2.3.0)。我试图只降级这个软件包,但它不起作用,所以我降级了整个vcremote,它终于奏效了。以下是我为解决问题而采取的步骤:

卸载vcremote

(有关npm“卸载”命令的文档:https://docs.npmjs.com/cli/uninstall

    sudo npm -g uninstall vcremote --save
    sudo npm -g uninstall vcremote-lib --save

检查可用的版本:

(有关npm“版本”命令的文档:https://docs.npmjs.com/cli/version

如果在安装软件包时未指定版本号,则默认选择最新版本。要检查特定软件包的可用版本(这里我们讨论的是vcremote软件包),请运行以下命令:

    npm view vcremote versions

重新安装特定版本的vcremote

(有关npm“安装”命令的文档:https://docs.npmjs.com/cli/install

我不想要最后一个(1.0.8),所以我在运行以下命令时指定了先前版本(1.0.6):

    sudo npm install -g --unsafe-perm vcremote@1.0.6

...而不是使用documentation中提供的以下命令:

    sudo npm install -g --unsafe-perm vcremote

最后:

现在它工作正常,因为 vcremote 1.0.6 使用 vcremote-lib 2.0.0 (而 vcremote 1.0.8 使用 vcremote-lib 2.3.0 )。

答案 1 :(得分:0)

(我还不能发表评论......)

昨天发布了visual studio 2015更新2,您收到此错误:

  

构建代理请求失败,此客户端与配对的构建代理不兼容。客户端版本“1.4.0”,构建代理版本“2.0.0”。支持的构建代理版本为:“2.3.0 - 2.4.0”。请在Mac上用“npm update vcremote”更新vcremote。

现在需要更新到vcremote 1.0.8(为了获得vcremote-lib 2.0.3):

  

sudo npm install -g --unsafe-perm vcremote@1.0.8

引入了vcremote-lib 2.0.3,版本2.0.4似乎尚不可用