было бы ложным.

с 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 и сделал. Есть идеи, что мне не хватает?

Ответы на вопрос(1)

Ваш ответ на вопрос