无法使用 nvcc 找到 Torch 头文件

Unable to find Torch header files using nvcc

我正在尝试从 luaJIT (Torch) 调用一些 CUDA 代码,但我 运行 遇到了编译问题。 nvcc 似乎无法找到我的 Torch 头文件。我有 CUDA 6.5 和 gcc 4.4.7。

nvcc -o im2col -I/deep/u/ibello/torch/include im2col.cu    
In file included from /deep/u/ibello/torch/include/THC/THC.h:4,
                     from utils.h:6,
                     from im2col.cu:1:
    /deep/u/ibello/torch/include/THC/THCGeneral.h:4:23: error: THGeneral.h: No such file or directory
    /deep/u/ibello/torch/include/THC/THCGeneral.h:5:25: error: THAllocator.h: No such file or directory
    In file included from /deep/u/ibello/torch/include/THC/THC.h:7,
                     from utils.h:6,
                     from im2col.cu:1:
    /deep/u/ibello/torch/include/THC/THCStorage.h:4:23: error: THStorage.h: No such file or directory
    In file included from /deep/u/ibello/torch/include/THC/THC.h:9,
                     from utils.h:6,
                     from im2col.cu:1:

im2col.cu包括以下

#include "utils.h"
#include "common.h"
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>

其中 "utils.h" 是

#ifndef CUNN_UTILS_H
#define CUNN_UTILS_H

extern "C" { #include <lua.h> }
#include <luaT.h>
#include <THC/THC.h>

THCState* getCutorchState(lua_State* L);

#endif

这比较奇怪,因为提到的文件确实在我给编译器的包含位置中..

ls /deep/u/ibello/torch/include/THC
THCAllocator.h  THCDeviceTensor.cuh       THCDeviceTensorUtils-inl.cuh  THC.h                    THCReduce.cuh     THCTensorConv.h  THCTensorMath.h
THCApply.cuh    THCDeviceTensor-inl.cuh   THCDeviceUtils.cuh            THCReduceAll.cuh         THCStorageCopy.h  THCTensorCopy.h  THCTensorRandom.h
THCBlas.h       THCDeviceTensorUtils.cuh  THCGeneral.h                  THCReduceApplyUtils.cuh  THCStorage.h      THCTensor.h      THCTensorSort.h

关于我做错了什么的想法?

提前致谢!

好像是这个编译命令:

nvcc -o im2col -I/deep/u/ibello/torch/include im2col.cu 

没有为编译器提供必要的搜索路径来查找位于 /deep/u/ibello/torch/include/TH

中的头文件,例如 THGeneral.h

解决方案是指定这样的编译命令:

nvcc -o im2col -I/deep/u/ibello/torch/include -I/deep/u/ibello/torch/include/TH im2col.cu