【发布时间】:2014-08-14 13:07:16
【问题描述】:
我想为我目前正在编写的程序创建一个Makefile,但在编译时遇到了问题。到目前为止,我只是将源文件包含到 main 中并编译它:
gcc main.c -lcrypto -lssl
我在我的程序中使用 openssl。但是当我读到这不是一个好习惯时,我想编写一个 make 文件并将头文件包含在 main 中。但是我有以下问题:
我想先制作.o 文件:
gcc -lcrypto -lssl -c read_and_send.c
但是对于这个我得到了很多错误(未知类型名称),这些类型是在 OpenSSL 库中定义的。我不知道如何使用我要编写的数学库来解决它:
gcc -lm -c read_and_send.c
我不会吗?
期待收到您的来信。
亲切的问候
绿色
【问题讨论】:
-
在编译时,您关心的头文件会包含您正在使用的库文件的声明。所以你需要适当的
-I...选项,如果它们不在包含路径中。在链接时(没有-c)然后你使用参考库进行链接。 -
gcc 的
-c选项告诉它不要调用链接器,这意味着-l...选项没有意义。
标签: c gcc linker makefile libraries