Чтобы ссылаться на переменную в javascript только с помощью строки, вы можете использовать
window['your_variable_name']
. Вы можете также устанавливать и ссылаться на переменные и объекты в переменных.
Для меня добавляющий следующий путь к CPATH
решил проблему:
export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
Перед продолжением удостоверьтесь, что установили инструменты командной строки XCode.
xcode-select --install
На самом деле, можно сделать это! На самом деле все заголовки C найдены здесь в этой папке:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/
Мы просто должны создать символьную ссылку для всего файла заголовков в эту папку:
/usr/local/include/
Это работало на меня! следующая командная строка будет заботиться обо всех проблемах:
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
Вы получите некоторое предупреждение. Некоторые заголовки уже существуют, как это:
ln: /usr/local/include//tcl.h: File exists
ln: /usr/local/include//tclDecls.h: File exists
ln: /usr/local/include//tclPlatDecls.h: File exists
ln: /usr/local/include//tclTomMath.h: File exists
ln: /usr/local/include//tclTomMathDecls.h: File exists
ln: /usr/local/include//tk.h: File exists
ln: /usr/local/include//tkDecls.h: File exists
ln: /usr/local/include//tkPlatDecls.h: File exists
полностью хорошо для игнорирования. это - все.
кажется, что Apple рассматривает /usr/include
как что-то, что пошло путем дронта — это, является прекратившимся —, или возможно это похоже на Монти Пайтона Попугай .
Используя обеспеченный Apple GCC (на самом деле, это - Лязг любым другим именем, поскольку информация о версии показывает), или Лязг избегает проблем. И /usr/bin/gcc
и /usr/bin/clang
найдет системные библиотеки четырьмя уровнями каталога ниже:
/Applications/Xcode.app/Contents/Developer/Platforms/…
при создании собственного GCC или другого компилятора необходимо будет (вероятно), настроить его для нахождения системных библиотек под каталогом приложения XCode.
Сразу после обновления, я выполнил XCode 11.0. Это хотело установить некоторые дополнительные компоненты, таким образом, я позволяю ему сделать так. Однако это не восстановило /usr/include
или каталог под [1 112].
Один из других советов в предыдущем вопрос состоял в том, чтобы работать:
xcode-select --install
При выполнении так, это утверждало, что загрузило утилиты командной строки, и это гарантировало, что /usr/bin/gcc
и /usr/bin/clang
и т.д. присутствовали. Это - полезный шаг (хотя я окончательно не проверял, присутствовали ли они прежде).
$ /usr/bin/gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin19.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$
Используя [1 115], теперь возможно скомпилировать программы:
$ make CC=/usr/bin/gcc al
co RCS/al.c,v al.c
RCS/al.c,v --> al.c
revision 1.7
done
/usr/bin/gcc -I/Users/jleffler/inc -g -O3 -std=c11 -pedantic -Wall -Wextra -Werror -Wshadow -Wmissing-prototypes -Wpointer-arith -Wold-style-definition -Wcast-qual -Wstrict-prototypes -DHAVE_MEMMEM -DHAVE_STRNDUP -DHAVE_STRNLEN -DHAVE_GETDELIM -o al al.c -L/Users/jleffler/lib/64 -ljl
$
Однако /usr/include
все еще отсутствует. Существует каталог под [1 117] теперь:
$ ls /Library/Developer
CommandLineTools PrivateFrameworks
$ ls /Library/Developer/CommandLineTools
Library SDKs usr
$ ls /Library/Developer/CommandLineTools/SDKs
MacOSX.sdk MacOSX10.14.sdk MacOSX10.15.sdk
$ ls /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/
Entitlements.plist SDKSettings.json System
Library SDKSettings.plist usr
$
Ни System
, ни Library
каталог содержат что-либо очень перспективное.
Затем ступают, — находят и читают информацию о версии:
нет никакой информации там, которая касается этого. Так, вероятность (AFAICS, только после часа или усилия two), который Apple больше не поддерживает /usr/include
—, хотя это действительно все еще имеет полностью загруженный /usr/lib
(никакой /lib
хотя).
Время для проверки другой компиляции с добавленной опцией -v
GCC (в make-файле я использовал установка UFLAGS
добавляет опцию к командной строке компилятора C):
$ make UFLAGS=-v CC=/usr/bin/gcc ww
co RCS/ww.c,v ww.c
RCS/ww.c,v --> ww.c
revision 4.9
done
/usr/bin/gcc -I/Users/jleffler/inc -g -O3 -std=c11 -pedantic -Wall -Wextra -Werror -Wshadow -Wmissing-prototypes -Wpointer-arith -Wold-style-definition -Wcast-qual -Wstrict-prototypes -DHAVE_MEMMEM -DHAVE_STRNDUP -DHAVE_STRNLEN -DHAVE_GETDELIM -v -o ww ww.c -L/Users/jleffler/lib/64 -ljl
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin19.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.15.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -disable-free -disable-llvm-verifier -discard-value-names -main-file-name ww.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -fno-strict-return -masm-verbose -munwind-tables -target-sdk-version=10.15 -target-cpu penryn -dwarf-column-info -debug-info-kind=standalone -dwarf-version=4 -debugger-tuning=lldb -ggnu-pubnames -target-linker-version 512.4 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -I /Users/jleffler/inc -D HAVE_MEMMEM -D HAVE_STRNDUP -D HAVE_STRNLEN -D HAVE_GETDELIM -I/usr/local/include -O3 -Wall -Wextra -Werror -Wshadow -Wmissing-prototypes -Wpointer-arith -Wold-style-definition -Wcast-qual -Wstrict-prototypes -Wno-framework-include-private-from-public -Wno-atimport-in-framework-header -Wno-extra-semi-stmt -Wno-quoted-include-in-framework-header -pedantic -std=c11 -fdebug-compilation-dir /Users/jleffler/src/cmd -ferror-limit 19 -fmessage-length 110 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fobjc-runtime=macosx-10.15.0 -fmax-type-align=16 -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o /var/folders/77/zx9nk6dn7_dg4xd4stvt42v00000gn/T/ww-4cb85b.o -x c ww.c
clang -cc1 version 11.0.0 (clang-1100.0.33.8) default target x86_64-apple-darwin19.0.0
ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/local/include"
ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Library/Frameworks"
#include "..." search starts here:
#include <...> search starts here:
/Users/jleffler/inc
/usr/local/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks (framework directory)
End of search list.
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -macosx_version_min 10.15.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o ww -L/Users/jleffler/lib/64 /var/folders/77/zx9nk6dn7_dg4xd4stvt42v00000gn/T/ww-4cb85b.o -ljl -L/usr/local/lib -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/lib/darwin/libclang_rt.osx.a
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil" -o ww.dSYM ww
$
ключевая информация во время той снежной бури данных:
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
Это - эффективно 'корневой' каталог для компиляции, таким образом, должны быть подкаталоги под этим для [1 125] и usr/include
:
$ ls /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
Entitlements.plist SDKSettings.json System
Library SDKSettings.plist usr
$ ls /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr
bin include lib libexec share
$ ls /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
AppleTextureEncoder.h dns_util.h memory.h simd
AssertMacros.h dtrace.h menu.h slapi-plugin.h
Availability.h editline miscfs spawn.h
AvailabilityInternal.h err.h module.modulemap sqlite3.h
AvailabilityMacros.h errno.h monetary.h sqlite3ext.h
AvailabilityVersions.h eti.h monitor.h stab.h
…lots more lines…
dirent.h mach-o security xcselect.h
disktab.h mach_debug semaphore.h xlocale
dispatch machine servers xlocale.h
dlfcn.h malloc setjmp.h xpc
dns.h math.h sgtty.h zconf.h
dns_sd.h membership.h signal.h zlib.h
$
Это показывает, что и полностью ненезабываемое имя каталога длинной в милю действительно содержит стандарт C и заголовки POSIX плюс определенные для Apple отдельно оплачиваемые предметы.
предыдущее /usr/local/
каталог, кажется, неповрежден; предупреждение приблизительно [1 128] не существующие под эти -isysrootdir
безопасны (и не видимы без -v
опция).
Я - новичок с компилятором C++ для R в OSX, и я получил ту же проблему, что C++ не мог найти заголовок после того, как ОС была обновлена ( пропавшие без вести math.h, хотя это было там ). Я следовал инструкциям от https://thecoatlessprofessor.com/programming/cpp/r-compiler-tools-for-rcpp-on-macos / , но ничто не изменилось.
Наконец, это работало на меня после того, как я переустановил Xcode CLI
xcode-select --install
, и затем измените флаги на Var как @Coatless предложенный:
export CFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
export CCFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
export CXXFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
export CPPFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
зависимость от apue.h все еще отсутствовала в моем /usr/local/include
после следования Komol Nath Roy ответ в этом вопросе.
я загрузил зависимость вручную от мерзавца и поместил ее в /usr/local/include
Установите следующее неявное Make
переменные для указания туда, где заголовки теперь расположены для Инструментов Командной строки XCode (XCode CLI):
export CFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
export CCFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
export CXXFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
export CPPFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
-isysroot
обновления опции , которые местоположение корня подпиливает от системного корневого каталога /
.
Так, это гарантирует, что общие /usr/*
файлы найдены в их новом месте.
таким образом, файлы в /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
теперь найдены. Эти файлы:
Entitlements.plist
Library
SDKSettings.json
SDKSettings.plist
System
usr