关于darkent的Makefile文件修改问题-pjreddie / darknet
我将darknet的makefile中的GPU设置为了1,但是最后编译时出现图片中的错误,cuda_runtime.h 找不到我具体该怎么修改Makefile中的路径呢,改成我的路径
TSwangming 发表于 2023-4-24 19:27
方便问一下具体该怎么加吗
COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include" 从你的描述来看,你的问题似乎是关于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兼容。 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的目录,这要怎么改呢 isdkz 发表于 2023-4-24 11:31
从你的描述来看,你的问题似乎是关于Darknet的编译问题。你需要在Makefile文件中设置正确的CUDA和CUDNN路径 ...
我目前只需要用GPU,cdunn和opencv设置的是1 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 的目录也是可以的
isdkz 发表于 2023-4-24 14:53
改成 COMMON+= -DGPU -IC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include
-I 后面 ...
嗯嗯,我想问一下如果是安装到其他盘比如D盘,也是-I后的斜杠不要,写成-ID:/xxx吗 TSwangming 发表于 2023-4-24 15:02
嗯嗯,我想问一下如果是安装到其他盘比如D盘,也是-I后的斜杠不要,写成-ID:/xxx吗
对的,有斜杠的是linux的路径形式,windows是用盘符来代替那个根目录的 isdkz 发表于 2023-4-24 15:04
对的,有斜杠的是linux的路径形式,windows是用盘符来代替那个根目录的
我刚刚试过了,还是和之前一样的错误,cuda_runtime.h找不到,该怎么办呢,我明明在include目录中可以找到的 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
但还是出错了 TSwangming 发表于 2023-4-24 15:10
这是我改后的:
ifeq ($(GPU), 1)
COMMON+= -DGPU -IC:/Program Files/NVIDIA GPU Computing Toolkit/ ...
你看一下报错信息的路径是不是你设置的路径? isdkz 发表于 2023-4-24 15:26
你看一下报错信息的路径是不是你设置的路径?
我看的应该和我的设置一样 isdkz 发表于 2023-4-24 15:26
你看一下报错信息的路径是不是你设置的路径?
想问一下您知道该怎么改了吗 TSwangming 发表于 2023-4-24 19:15
想问一下您知道该怎么改了吗
因为你的路径中有空格,所以要加入双引号 isdkz 发表于 2023-4-24 19:17
因为你的路径中有空格,所以要加入双引号
方便问一下具体该怎么加吗 isdkz 发表于 2023-4-24 19:17
因为你的路径中有空格,所以要加入双引号
COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include"
请问是这样加吗 TSwangming 发表于 2023-4-24 19:28
COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include"
请问是这样加 ...
对 isdkz 发表于 2023-4-24 19:29
COMMON+= -DGPU -I"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include"
非常感谢您,但是又出现了一个新的问题{:5_100:} TSwangming 发表于 2023-4-24 19:36
非常感谢您,但是又出现了一个新的问题
这就是编译环境的问题了 TSwangming 发表于 2023-4-24 19:36
非常感谢您,但是又出现了一个新的问题
把你的编译环境的bin目录加进path环境变量
页:
[1]
2