2016-02-16 1 views
1

Mise à jour:
Maintenant, j'utiliseboost build - spécifier les options du compilateur lorsque vous utilisez Visual C++

using msvc : 14.0 : : <compileflags>/O1 ; 

dans mon projet config.jam. Le comportement est ce que je m'attends.
Mais quand je remplace/O1 par/Ox, le .lib est le même que/O2.
/Ox ne fonctionne pas correctement !!!

Origine:
J'utilise cette commande

b2.exe variant=release 

mais comment puis-je Oblige la construction de boost à utiliser/Ox au lieu de/O2?
(Le réglage par défaut pour la libération est builds/O2, mais je veux/Ox)

post-scriptum, j'essaie

using msvc : 14.0 : : /Ox ; 

dans mon projet config.jam, mais il ne fonctionne pas.

+0

Pourquoi voulez-vous/Ox? Vous savez [c'est essentiellement la même chose que /O2] (http: //stackoverflow.com/questions/5063334/what-is-the-difference-between-the-ox-and-o2-compiler-options), non? La seule différence est/O2 permet également la mise en pool de chaînes et la liaison au niveau de la fonction. Pourquoi ne voudriez-vous * pas * l'un ou l'autre? –

+0

@CodyGray À mon avis, le regroupement de chaînes est plus lent. (Mais c'est encore discutable.) – Caesar

Répondre

0

Voir le tutoriel here.

La section d'intérêt:

<cflags> ... Passer des drapeaux au compilateur C.

<CXXFLAGS> ... Passer des drapeaux au compilateur C

+1

Merci. Mais j'utilise finalement. – Caesar