使用scons构建Swiften

时间:2014-08-31 21:22:12

标签: build xmpp scons swiften

我正在尝试按照http://swift.im/swiften/guide/#Example-EchoBot1上的示例,使用swiften库构建一个简单的XMPP客户端。

提到的示例需要文件Swiften.h。根据swiften邮件列表,构建swiften时会生成此文件。所以,我已经尝试在我的Windows机器上构建它,遵循http://swift.im/git/swift-contrib/tree/Documentation/BuildingOnWindows.txt的说明。

由于他们声明Qt和open ssl是可选的,我会直接通过运行scons来构建。

这是我得到的输出:

  c:\swift-2.0>scons
    scons: Reading SConscript files ...
    scons: warning: No installed VCs
    File "C:\swift-2.0\SConstruct", line 1, in <module>
    scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
     File "C:\swift-2.0\SConstruct", line 1, in <module>
    scons: warning: No installed VCs
    File "C:\swift-2.0\SConstruct", line 1, in <module>
    scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
     File "C:\swift-2.0\SConstruct", line 1, in <module>
    KeyError: 'MSVS_VERSION':
      File "C:\swift-2.0\SConstruct", line 1:
        variant_dir = SConscript("BuildTools/SCons/SConscript.boot")
       File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Script\SConscript.py", line 614:
        return method(*args, **kw)
      File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Script\SConscript.py", line 551:
         return _SConscript(self.fs, *files, **subst_kw)
      File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Script\SConscript.py", line 260:
        exec _file_ in call_stack[-1].globals
      File "C:\swift-2.0\BuildTools\SCons\SConscript.boot", line 240:
         if int(env["MSVS_VERSION"].split(".")[0]) < 10 :
      File "c:\swift-2.0\3rdParty\SCons\scons-local-2.0.0.final.0\SCons\Environment.py", line 409:
        return self._dict[key]

如何设置脚本以查找我的Visual Studio版本?

谢谢,

最好的问候,

c

2 个答案:

答案 0 :(得分:0)

SCons应该自动找到已安装的VisualStudio版本,但您必须打开“VisualC ++命令提示符”,如BuildingOnWindows.txt中所述,并在此环境中启动构建。

答案 1 :(得分:0)

我认为我们还没有更新scons来处理VS 2013。我已经有一个待处理的补丁来添加对一些新VS的支持,我将尝试检查其中包括2013并在接下来的几天内集成。