微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使简单的Makefile起作用

如何解决使简单的Makefile起作用

| 因此,我什至无法使用一个简单的Makefile进行工作。这是我所拥有的:
proj : driver.o
    icc -g -O3 -openmp driver.o -o proj
driver.o : driver.c driver.h
    icc -g -O3 -openmp driver.c 
我觉得这很简单。 Proj仅取决于driver.o,而后者又取决于driver.c和driver.h。运行时,编译器将失败,并在driver.c文件中的“ include”中包含“无法打开源文件” driver.h \” \。我想念什么?     

解决方法

        假设您从所有源文件和头文件所在的目录中运行“ 1”,请确保在include指令中使用引号:
#include \"driver.h\"
...而不是:
#include <driver.h>
后者将搜索系统包含路径(并且您必须按照larsmans的建议将当前目录添加到该路径)。     ,        您应该给
icc
一个
-I.
选项,以使其在当前目录中查找包含文件。
icc -I. -c -g -O3 -openmp driver.c 
(我也随意添加了
-c
标志以防止链接。)     ,        它在正确的文件夹中吗?同样,您的编译方式可能必须在命令行中添加ѭ7才能编译
driver.o
,而不是尝试创建完整的可执行文件(仅用于gcc,因此可能不需要)。 除此之外(还有提到的可能会加上
-I
标记的拉尔斯曼号,我看不到任何其他问题。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。