在Windows上使用Luarocks安装带有mingw构建错误的Torch7

时间:2014-12-03 16:30:47

标签: lua mingw luarocks torch

我按照here的指示,从头开始用Mingw设置Lua和Luarocks。一切正常,我能够安装岩石,包括需要像LuaSocket一样进行编译的岩石。

我按照Torch7页面上的说明通过luarocks安装Torch。但它失败了。我不明白为什么。

这是控制台输出。我最好的猜测是,当我想要使用Mingw时,它与Building for: Visual Studio 9 2008有关。

PS C:\WINDOWS\system32> luarocks --server=https://raw.githubusercontent.com/torch/rocks/master install torch
Installing https://raw.githubusercontent.com/torch/rocks/master/torch-scm-1.rockspec...
Using https://raw.githubusercontent.com/torch/rocks/master/torch-scm-1.rockspec... switching to 'build' mode

Missing dependencies for torch:
paths >= 1.0
cwrap >= 1.0

Using https://raw.githubusercontent.com/torch/rocks/master/paths-scm-1.rockspec... switching to 'build' mode
Cloning into 'paths'...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 10 (delta 0), reused 6 (delta 0)R
Receiving objects: 100% (10/10), 12.24 KiB | 0 bytes/s, done.
Checking connectivity... done.
cmake -E make_directory build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DLUALIB=lua51.dll -DLUA_INCDIR="C:/Pro
gram Files (x86)/Lua/5.1/include/" -DLUA_LIBDIR="C:/Program Files (x86)/Lua/5.1/" -DLUADIR="C:\Program Files (x86)\LuaRo
cks\systree/lib/luarocks/rocks/paths/scm-1/lua" -DLIBDIR="C:\Program Files (x86)\LuaRocks\systree/lib/luarocks/rocks/pat
hs/scm-1/lib" -DCMAKE_INSTALL_PREFIX="C:\Program Files (x86)\LuaRocks\systree/lib/luarocks/rocks/paths/scm-1" && mingw32
-make

-- Building for: Visual Studio 9 2008
-- The C compiler identification is MSVC 15.0.30729.1
-- The CXX compiler identification is MSVC 15.0.30729.1
-- Check for working C compiler using: Visual Studio 9 2008
-- Check for working C compiler using: Visual Studio 9 2008 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 9 2008
-- Check for working CXX compiler using: Visual Studio 9 2008 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_BUILD_TYPE


-- Build files have been written to: C:/Users/Daniel/AppData/Local/Temp/luarocks_paths-scm-1-1059/paths/build
mingw32-make: *** No targets specified and no makefile found.  Stop.

Error: Failed installing dependency: https://raw.githubusercontent.com/torch/rocks/master/paths-scm-1.rockspec - Build e
rror: Failed building.

2 个答案:

答案 0 :(得分:4)

该命令看起来大致正确,但我认为cmake命令需要-G "MSYS Makefiles"选项来使用mingw而不是VS.您可能还需要提取最新的火炬版本,因为它包含several changes,修复了mingw的一些编译问题。

请注意,我没有使用LuaRocks测试更改,也不确定如何将其他选项传递给它,但您应该能够手动运行相同的命令以获得所需的结果(我从命令行编译它) )。

答案 1 :(得分:1)

cmake 似乎使用Visual Studio 9 2008,但它错误地#34;使用 mingw32-make.exe 而不是...... nmake.exe 。 在执行"c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"命令之前,您可以在同一控制台中运行此命令:luarocks(适应您的visual studio路径)。现在, cmake 应该使用 nmake