было бы ложным.
с Apple LLVM 9.1.0,is_lock_free()
на 128-битных структурах вернули true. Чтобы завершитьstd::optional
Поддержка, я затем обновился до MacPorts GCC 7.3. Во время моей первой попытки компиляции я столкнулся с этой печально известной ошибкой компоновщика showtopper:
Undefined symbols for architecture x86_64:
"___atomic_compare_exchange_16", referenced from:
Я знаю, что мне нужно добавить-latomic
, С Apple LLVM 9.1.0 она мне не нужна, и у меня очень плохое предчувствие по этому поводу. Если он не блокируется, вам обычно не нужно ссылаться на какую-либо дополнительную библиотеку, только компилятор может справиться с этим. В противном случае он может быть основан только на блокировке и требовать поддержки из дополнительной библиотеки. Так же, как я боялся, после добавления-latomic
Построить удалось, ноis_lock_free()
вернулся ложный.
Я думаю, что gcc 7.3 и его стандартная реализация библиотеки в порядке. Это может быть просто проблема конфигурации на моей стороне. На самом деле, я не делал никаких настроек. Я просто установил MacPorts GCC и сделал. Есть идеи, что мне не хватает?