没有这样的文件或目录,但文件存在?

没有这样的文件或目录,但文件存在?

我正在尝试在 Ubuntu 20.04 上从 Azure gcc 以下项目:https://github.com/Azure/azure-umqtt-c

当我通过 cmake 安装项目时,我尝试 gcc mqtt_client.c,但遇到以下错误:

omic@omic-virtual-machine:~/azure-umqtt-c/src$ gcc mqtt_client.c
mqtt_client.c:18:10: fatal error: azure_umqtt_c/mqtt_client.h: No such file or directory
   18 | #include <azure_umqtt_c/mqtt_client.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

但是,当我转到 azure-umqtt-c/inc/azure-umqtt-c 时,文件 mqtt_client.h 存在。有人可以帮助我并让我理解为什么会发生这种情况吗?

谢谢!

答案1

好吧,您希望编译器查找任意inc/子目录中的包含内容。怎么gcc知道呢?

您可以告诉 GCC 您希望它使用标志来查找目录-I,例如gcc -Iinc/ ...

但老实说:如果没有构建系统,您就无法构建 C 代码,该系统将为您正确设置此类标志(您还缺少很多其他标志,这一切都毫无意义!)。您链接到的存储库甚至告诉您如何做到这一点(涉及的部分cmake),您只是没有遵循说明!

相关内容