Définitions de compilateur du code source lié à la lib modification lib?

StackOverflow https://stackoverflow.com/questions/5021457

  •  14-11-2019
  •  | 
  •  

Question

J'ai un fichier a.cpp qui a TargetLibs = lib.lib sur le fichier Sources. Lib.cpp a été compilé avec c_defines = -dsomething, mais a.cpp est compilé avec c_defines = -dotr. Lib.pp contient #ifDefs pour -dsomething et -dotr.

Que se passe-t-il dans ce cas? Est-ce que le fait est gardé ou remplacé par -dother? Est-ce que l'autre est ignoré? Ou les deux sont conservés? Merci

Était-ce utile?

La solution

Définit avoir un effet au moment de la compilation, donc -Dsomething est conservé pour le code de la bibliothèque et -dother pour le code du programme. Soyez prudent, si un en-tête de Lib, par exemple Lib.h, est inclus dans A.Cpp, -dother est également utilisé pour le code d'en-tête, car il se trouve dans la même unité de compilation que A.CPP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top