Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何生成扩展名为o.d的文件_C++_Linux_Gcc - Fatal编程技术网

C++ 如何生成扩展名为o.d的文件

C++ 如何生成扩展名为o.d的文件,c++,linux,gcc,C++,Linux,Gcc,在ubuntu 15.04中执行命令“make”后,我发现文件。*.o.d的内容如下: objdir.o: objdir.cpp /usr/lib/gcc/i486-linux-gnu/4.4.3/include/stdarg.h \ /usr/include/assert.h /usr/include/features.h \ /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \ /usr/include/bits/wordsize

在ubuntu 15.04中执行命令“make”后,我发现文件。*.o.d的内容如下:

objdir.o: objdir.cpp /usr/lib/gcc/i486-linux-gnu/4.4.3/include/stdarg.h \
 /usr/include/assert.h /usr/include/features.h \
 /usr/include/bits/predefs.h /usr/include/sys/cdefs.h \
 /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
 /usr/include/gnu/stubs-32.h ../include/ntstatus.h ../include/windef.h \
 ../include/winnt.h ../include/basetsd.h /usr/include/ctype.h \
 /usr/include/bits/types.h /usr/include/bits/typesizes.h \
 /usr/include/endian.h /usr/include/bits/endian.h \
 /usr/include/bits/byteswap.h /usr/include/xlocale.h \
 /usr/lib/gcc/i486-linux-gnu/4.4.3/include/stddef.h /usr/include/string.h \
 /usr/include/bits/string3.h ../include/pshpack2.h ../include/poppack.h \
 ../include/pshpack4.h ../include/guiddef.h ../include/pshpack8.h \
 ../include/winternl.h debug.h object.h list.h unicode.h objdir.h \
 object.inl ntcall.h thread.h timer.h fiber.h token.h mem.h \
 /usr/include/unistd.h /usr/include/bits/posix_opt.h \
 /usr/include/bits/environments.h /usr/include/bits/confname.h \
 /usr/include/getopt.h /usr/include/bits/unistd.h process.h symlink.h
但是在这些文件中,我得到了错误的路径——例如,不是/usr/lib/gcc/i486linux-gnu/4.4.3,而是/usr/lib/gcc/i686linux-gnu/4.9
那么这些文件是如何生成的,以及我如何更改这些文件中的路径呢

您可以在gnu环境中使用
gcc-MM
生成依赖项文件(
.d
)。发件人:

解决方案相当简单:每次构建.o文件时,我们都会 创建一个扩展名为.d(用于依赖项)的文件,该文件记录以下内容 文件用于创建相应的.o文件。(请注意,我们有 与某些文件相比,不提前创建.d文件 .d文件将用make语言本身编写, 并包含在主生成文件中。我们可以生成文件 使用gcc的-MM选项