gcc
, очевидно, не может найти файл включения в указанном месте. Это работает, если я использую
#include "fullpath/stdint.h"
Я не могу заставить его работать, используя
#include < stdint.h >
Я попытался скомпилировать пакет, используя gcc
в Mac OS. Нет успеха Я прибил проблему к включаемому файлу stdint.h
.
Я написал следующий тестовый код:
// 1 #include <stdint.h>
// 2 #include "/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdint.h"
// 3 typedef unsigned long long uint64_t;
#include <stdio.h>
int main()
{
uint64_t x ;
x = 10 ;
printf("x = %lld\n",x);
}
Если я раскомментирую первую закомментированную строку, помеченную как «1», она не будет работать.
Я попытался скомпилировать с:
> gcc -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/ test.c
test.c:8:9: error: expected ';' after expression
uint64_t x ;
^
;
test.c:8:1: error: use of undeclared identifier 'uint64_t'
uint64_t x ;
^
Я также попытался установить переменные окружения GCC_INCLUDE_DIR
и C_INCLUDE_DIR
безрезультатно:
> env | grep INCLUDE C_INCLUDE_PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/
GCC_INCLUDE_PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/
> gcc test.c
test.c:8:9: error: expected ';' after expression
uint64_t x ;
^
;
test.c:8:1: error: use of undeclared identifier 'uint64_t'
uint64_t x ;
Теперь, если я использую 2 или 3 закомментированные строки, программа компилируется и работает просто отлично.
Так что, возможно, возникла проблема с поиском файла stdint.h
. Что-то не так с моим использованием -I
? Я перечитал эту строку тысячу раз, добавил пробел после -I
, вынул пробел, кажется, ничего не помогает. То же самое происходит с переменными среды.
gcc
и версии Mac OS:
> uname -a
Darwin Antonios-MacBook-Pro.local 18.5.0 Darwin Kernel Version 18.5.0: Mon Mar 11 20:40:32 PDT 2019; root:xnu-4903.251.3~3/RELEASE_X86_64 x86_64
> gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin