Intereting Posts
Отключить компилятор-предупреждение по всему проекту в Qt Creator (при использовании MSVC) Почему operator = не наследуется от classа шаблона C ++ Multiple Inheritance – почему вы не работаете? Как преобразовать индексы треугольной матрицы в строки, координаты столбцов? Функция автоматического вызова C ++ после изменения переменной Выбор между vector :: resize () и vector :: reserve () Есть ли в командной строке C ++ для конвертера PDF с подсветкой синтаксиса? Может ли встроенная функция в файле заголовка использовать константу, которая имеет внутреннюю связь? инициализировать вектор для нhive C ++ / C ++ 11 Расширение программы для подсчета частоты линии Перевод между декартовыми и экранными координатами добавление флага компилятора «-march = native» в строку компиляции приводит к исключению с плавающей запятой в KNL Как преобразовать числа символов в десятичные и обратно или преобразовать ASCII ‘A’ – ‘Z’ / ‘a’ – ‘z’ в смещения букв 0 для ‘A’ / ‘a’ …? Могу ли я определить, является ли аргумент строковым литералом? фатальная ошибка: mpi.h: Нет такого файла или каталога #include

___sincos_stret undefined символ при связывании

Как уже упоминалось здесь , ___sincos_stret не может быть найден при компиляции проекта, который использует этот символ, используя инструменты командной строки Xcode5.

В вышеприведенной ссылке указано сообщение для целей IOS (передача -miphoneos-version-min=5.0 в компилятор), есть ли решение для настольных ( x64 ) целей?

Это, например, случается для меня при попытке скомпилировать поликод .

Изменить 2:

Как ни странно, после компиляции библиотек, упомянутых в предыдущей ошибке вручную, ошибка теперь находится в lto.o , которая является внутренним заголовком llvm …

 undef: ___sincos_stret Undefined symbols for architecture x86_64: "___sincos_stret", referenced from: _mdct_init in lto.o _dradfg in lto.o 

Я запускаю OSX 10.9 DP с Xcode 5. Это шаг ссылки .

    stret – это Apple- stret для «возвращает структуру». ___sincos_stret – это оптимизация LLVM – если вы пишете код, который вызывает sin(n) а затем cos(n) и использует оба результата, тогда компилятор сделает один вызов метода, возвращающего структуру, и получит структуру с двумя вещами в ней. Быстрее выработать оба одновременно, а не индивидуально, если один и тот же операнд.

    На поверхностном просмотре я не вижу sin или cos в initInterTab2D но я ожидаю, что что-то будет включено.

    Пока я ковырялся, я пробовал:

     cd /Applications/Xcode.app/Contents/Developer/Platforms grep -lr ___sincos_stret * 

    Через это и используя nm по вероятным результатам, я обнаружил, что функция ___sincos_stret открыта в обоих iOS с 7.0 и OS X с 10.9 как часть их libsystem_m.dylib . Например, если ваш Xcode установлен в месте по умолчанию, попробуйте:

     nm /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/lib/system/libsystem_m.dylib | grep sincos 

    И / или:

     nm /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/system/libsystem_m.dylib | grep sincos 

    Вы увидите символ в любом из них. Поэтому правильным решением было бы установить более старую цель развертывания в Xcode или сделать эквивалент в вашем make-файле.

    Вы хотите -mmacosx-version-min=10.8 (или независимо от вашей целевой версии ОС).

    Похоже, что un- и переустановка Xcode5 DP и инструменты командной строки OSX 10.9 решили проблему. Я предполагаю, что возникла проблема с обновлением из предыдущих версий.

    Откройте следующий файл в текстовом редакторе /opt/local/etc/macports/macports.conf и добавьте туда строки, такие как

     # MACOSX_DEPLOYMENT_TARGET - osx version to be compatible with earlier OSX version. macosx_deployment_target 10.8 MACOSX_DEPLOYMENT_TARGET 10.8