C Makefile未定义的引用

时间:2012-04-16 06:10:54

标签: makefile

我的这个项目有以下文件结构:

|-- CG.cu  
|-- Makefile  
|-- examples  
| |-- ex2.h  
|   |-- ex3.h  
|   |-- mmio.c  
|   |-- mmio.h  
|   |-- nos4.mtx  
|-- util.h  

CG.cu 是我的主程序(共轭渐变求解器)我在 util.h 中有一些帮助函数,然后我在中有一些硬编码的例子ex2.h ex3.h (我知道这是不好的做法,但现在没问题)问题是 ex3.h 需要mmio.c,要在示例中加载mmio.h和nos4.mtx。

所以基本上流程是:CG.cu - > ex3.h - > mmio.h(mmio.c) 编译器(NVCC:后来被移植到cuda)抱怨mmio函数的未定义引用。

目前我的Makefile看起来像这样:

main: CG.cu util.h
      NVCC -o main CG.cu

和GC.cu使用#include "examples/ex3.h",ex3.h使用#include "mmio.h"

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

首先需要编译mmio.c,然后将CG.cu与生成的目标文件链接起来。您也可以一步完成:

mian: CG.cu util.h NVCC -o main CG.cu mmio.c