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
わかりますか?
-I
たとえば、ディレクトリを見つけるためにフラグを使用するようにGCCに通知できますgcc -Iinc/ ...
。
しかし、正直なところ、これらのフラグを正しく設定するビルドシステムがなければ、Cコードをビルドすることはできません(他のフラグもたくさんありませんが、すべて意味がありません!)。あなたがリンクしたリポジトリからこれを行う方法(関連部分cmake
)まで教えてくれましたが、あなたは指示に従わなかった!