TSwangming 发表于 2023-4-24 11:08:36

关于darkent的Makefile文件修改问题-pjreddie / darknet

我将darknet的makefile中的GPU设置为了1,但是最后编译时出现图片中的错误,cuda_runtime.h 找不到
我具体该怎么修改Makefile中的路径呢,改成我的路径

isdkz 发表于 2023-4-24 11:08:37

TSwangming 发表于 2023-4-24 19:27
方便问一下具体该怎么加吗

COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include"

isdkz 发表于 2023-4-24 11:31:48

从你的描述来看,你的问题似乎是关于Darknet的编译问题。你需要在Makefile文件中设置正确的CUDA和CUDNN路径,以便编译器能找到相关的头文件和库文件。下面是一些建议来修改Makefile文件:

1. 打开Makefile文件,找到以下几行:

GPU=1
CUDNN=1
OPENCV=1


将这些值设置为1,表示你要使用GPU、CUDNN和OpenCV功能。如果你只想使用GPU,可以将CUDNN和OPENCV设置为0。

2. 确保你已经安装了CUDA和CUDNN。检查CUDA和CUDNN的安装路径。默认情况下,它们通常安装在以下路径:

/usr/local/cuda
/usr/local/cuda/include
/usr/local/cuda/lib64


3. 在Makefile中,找到以下几行:

COMMON+= -DGPU -I/usr/local/cuda/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand


确保这里的路径与你的CUDA安装路径一致。如果需要,可以修改这些路径。例如,如果你的CUDA安装在`/opt/cuda`,那么你需要将这些路径改为:

COMMON+= -DGPU -I/opt/cuda/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/opt/cuda/lib64 -lcuda -lcudart -lcublas -lcurand


4. 如果你还启用了CUDNN,同样需要修改CUDNN的相关路径。找到以下几行:

COMMON+= -DCUDNN -I/usr/local/cudnn/include
CFLAGS+= -DCUDNN
LDFLAGS+= -L/usr/local/cudnn/lib64 -lcudnn


根据你的CUDNN安装路径进行相应的修改。

5. 保存并关闭Makefile文件。

6. 在终端中,进入Darknet目录,运行以下命令重新编译:

make clean
make


这应该可以解决你遇到的问题。如果仍然存在问题,请检查CUDA和CUDNN是否正确安装,以及它们的版本是否与Darknet兼容。

TSwangming 发表于 2023-4-24 14:50:20

isdkz 发表于 2023-4-24 11:31
从你的描述来看,你的问题似乎是关于Darknet的编译问题。你需要在Makefile文件中设置正确的CUDA和CUDNN路径 ...

如果是像我发的图片中的位置,是否是改成“COMMON+= -DGPU -I/C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include”呢,还有就是我其中一个图片也显示了我没有lib64这个目录,只有lib/x64的目录,这要怎么改呢

TSwangming 发表于 2023-4-24 14:52:22

isdkz 发表于 2023-4-24 11:31
从你的描述来看,你的问题似乎是关于Darknet的编译问题。你需要在Makefile文件中设置正确的CUDA和CUDNN路径 ...

我目前只需要用GPU,cdunn和opencv设置的是1

isdkz 发表于 2023-4-24 14:53:31

TSwangming 发表于 2023-4-24 14:50
如果是像我发的图片中的位置,是否是改成“COMMON+= -DGPU -I/C:/Program Files/NVIDIA GPU Computing To ...

改成 COMMON+= -DGPU -IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include

-I 后面的斜杠不要

如果没有 lib64,就用 lib/x64 的目录也是可以的

TSwangming 发表于 2023-4-24 15:02:32

isdkz 发表于 2023-4-24 14:53
改成 COMMON+= -DGPU -IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include

-I 后面 ...

嗯嗯,我想问一下如果是安装到其他盘比如D盘,也是-I后的斜杠不要,写成-ID:/xxx吗

isdkz 发表于 2023-4-24 15:04:01

TSwangming 发表于 2023-4-24 15:02
嗯嗯,我想问一下如果是安装到其他盘比如D盘,也是-I后的斜杠不要,写成-ID:/xxx吗

对的,有斜杠的是linux的路径形式,windows是用盘符来代替那个根目录的

TSwangming 发表于 2023-4-24 15:08:18

isdkz 发表于 2023-4-24 15:04
对的,有斜杠的是linux的路径形式,windows是用盘符来代替那个根目录的

我刚刚试过了,还是和之前一样的错误,cuda_runtime.h找不到,该怎么办呢,我明明在include目录中可以找到的

TSwangming 发表于 2023-4-24 15:10:09

isdkz 发表于 2023-4-24 15:04
对的,有斜杠的是linux的路径形式,windows是用盘符来代替那个根目录的

这是我改后的:
ifeq ($(GPU), 1)
COMMON+= -DGPU -IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include
CFLAGS+= -DGPU
LDFLAGS+= -LC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64 -lcuda -lcudart -lcublas -lcurand
endif
但还是出错了

isdkz 发表于 2023-4-24 15:26:44

TSwangming 发表于 2023-4-24 15:10
这是我改后的:
ifeq ($(GPU), 1)
COMMON+= -DGPU -IC:/Program Files/NVIDIA GPU Computing Toolkit/ ...

你看一下报错信息的路径是不是你设置的路径?

TSwangming 发表于 2023-4-24 15:45:30

isdkz 发表于 2023-4-24 15:26
你看一下报错信息的路径是不是你设置的路径?

我看的应该和我的设置一样

TSwangming 发表于 2023-4-24 19:15:31

isdkz 发表于 2023-4-24 15:26
你看一下报错信息的路径是不是你设置的路径?

想问一下您知道该怎么改了吗

isdkz 发表于 2023-4-24 19:17:11

TSwangming 发表于 2023-4-24 19:15
想问一下您知道该怎么改了吗

因为你的路径中有空格,所以要加入双引号

TSwangming 发表于 2023-4-24 19:27:37

isdkz 发表于 2023-4-24 19:17
因为你的路径中有空格,所以要加入双引号

方便问一下具体该怎么加吗

TSwangming 发表于 2023-4-24 19:28:58

isdkz 发表于 2023-4-24 19:17
因为你的路径中有空格,所以要加入双引号

COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include"
请问是这样加吗

isdkz 发表于 2023-4-24 19:30:20

TSwangming 发表于 2023-4-24 19:28
COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include"
请问是这样加 ...

TSwangming 发表于 2023-4-24 19:36:46

isdkz 发表于 2023-4-24 19:29
COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include"

非常感谢您,但是又出现了一个新的问题{:5_100:}

isdkz 发表于 2023-4-24 19:37:50

TSwangming 发表于 2023-4-24 19:36
非常感谢您,但是又出现了一个新的问题

这就是编译环境的问题了

isdkz 发表于 2023-4-24 19:40:38

TSwangming 发表于 2023-4-24 19:36
非常感谢您,但是又出现了一个新的问题

把你的编译环境的bin目录加进path环境变量
页: [1] 2
查看完整版本: 关于darkent的Makefile文件修改问题-pjreddie / darknet