c - 为什么我不能编译我的 C 代码?

标签 c linker include include-path

我在 /Users/koraytugay 下有这 3 个文件

checksum.h
enc.h
libsec.a

libsec.a是checksum.o和enc.o存在的归档文件

Korays-MacBook-Pro:~ koraytugay$ nm libsec.a

libsec.a(enc.o):
0000000000000090 s EH_frame0
0000000000000000 T _enc
00000000000000a8 S _enc.eh
                 U _strlen

libsec.a(checksum.o):
0000000000000078 s EH_frame0
0000000000000000 T _checkSumFor
0000000000000090 S _checkSumFor.eh
Korays-MacBook-Pro:~ koraytugay

这就是我尝试编译 hello.c 文件的方式:

Korays-MacBook-Pro:HelloWorld koraytugay$ gcc hello.c -L/Users/koraytugay -libsec -o koko.out
hello.c:4:10: fatal error: 'enc.h' file not found
#include <enc.h>
         ^
1 error generated.

我做错了什么?

顺便说一句,hello.c:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <enc.h>
#include <checksum.h>

// code here.. 

最佳答案

您尝试包含 enc.h,但它不在您的包含路径中。您可以将此添加到您的 gcc 调用中以解决此问题:

-I/Users/koraytugay

关于c - 为什么我不能编译我的 C 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29498702/

相关文章:

c - 编程以填充我们系统的 L1 或 L2 缓存

c - C 链接器何时以及为何会排除未使用的符号?

c - C语言getmac程序如何排除错误?

c - 我有这个错误 : argument of type 'char' is incompatible with parameter of type char*

c - 使用 %of 代替时分配给变量的值

c - 在 Matlab 的 c 代码中设置 #define

linux - 链接时如何指定节的基地址,或者如何在链接后重新设置节的基址?

linux - 链接器是否在静态链接文件中包含 libc.so.6?

node.js - 在 ejs 模板引擎中包含非 ejs 文件

php - 在 PHP 中包含太多文件会降低性能吗?