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
)까지 알려주었지만 귀하는 지침을 따르지 않았습니다!