如何包含具有主目录绝对路径的头文件?
大家新年快乐,
我正在努力解决一个相当愚蠢的 gcc include 问题。我尝试将我的工作相对包含路径(使用 -I
)更改为绝对路径,以便我可以移动源文件并且它仍然可以编译。
相对路径(工作):
-I../../../NVIDIA_GPU_Computing_SDK/OpenCL/common/inc -lOpenCL
绝对路径(不工作):
-I~/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc -lOpenCL
那么如何使用主目录中的绝对路径包含头文件呢?
谢谢
[更新]
我尝试了$HOME
想法与-I$HOME/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc
但 make 文件的输出显示:
gcc
IOME/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc
-lOpenCL -O3 -fno-严格别名-fopenmp -std=c99 -lm -D_GNU_SOURCE -Wall -pedantic foo.c foo.c:14: 致命错误: CL/cl.h: 没有这样的文件或目录 编译终止。
我对这些参数使用 make 文件有什么区别吗?
Happy New Year Everybody,
I am struggling with a rather stupid gcc include problem. I tried to change my working relative include paths (using -I
) to absolute paths, so that I could move the source files and it would still compile.
Relative path (working):
-I../../../NVIDIA_GPU_Computing_SDK/OpenCL/common/inc -lOpenCL
Absolute path (not working):
-I~/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc -lOpenCL
So how do you inlcude header files with absolute paths from the home directory?
Thanks
[update]
I tried the $HOME
idea with -I$HOME/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc
but the output of the make file says:
gcc
IOME/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc
-lOpenCL -O3 -fno-strict-aliasing -fopenmp -std=c99 -lm -D_GNU_SOURCE -Wall -pedantic foo.c
foo.c:14: fatal error: CL/cl.h: No such file or directory
compilation terminated.
Does it make a difference that I use a make file for these parameters?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
指定完整路径或 $HOME 而不是使用 ~ 作为主目录
Specify the full path or $HOME instead of using ~ for the home directory
尝试使用
$HOME
而不是~
。Try using
$HOME
instead of~
.