问题描述
|
因此,我什至无法使用一个简单的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
标记的拉尔斯曼号,我看不到任何其他问题。