/ / clang príznaky kompilátora pre binárnu distribúciu (generický CPU) - c ++, c, macos, clang

príznaky kompilátora pre binárnu distribúciu (generické CPU) - c ++, c, macos, clang

Som zostavujúci multiplatformnú aplikáciu C / C ++ CLI pre OSX pomocou cmake a clang (700.1.81) v OSX 10.11 na ~ 1 r. RMBP. Používam CPack na zabalenie svojej aplikácie ako drag-n-drop .dmg Inštalačný program.

Keď testujem binárny súbor na starších počítačoch (~ 4 .y.o), pravidelne dostávam a SIGILL chyba nezákonnej inštrukcie (dokonca aj v tej istej verzii OSX). Aké sú vyvolania magického kompilátora, ktoré by som mal používať na zostavenie „všeobecného“ procesora? llc napríklad podporuje a -mpcu=generic flag, ale clang nerozpozná tento príznak a clang man stránka navrhuje -march=cpu, ale ak sa pokúsim -march=generic Mám to error: unknown target CPU "generic" chyba.

Už špecifikujem staršie verzie OSX prostredníctvom -mmacosx-version-min, zdá sa, že to nie je problém.

Musím špecifikovať generický CPU prostredníctvom cieľovej trojice? Aké sú možnosti?

odpovede:

0 pre odpoveď č. 1

Pre všeobecnú architektúru vyskúšajte -march=x86-64. To by malo zabrániť napríklad generovaniu špecifických pokynov spoločnosti Haswell.