Używam prekompilowanych nagłówków GCC w moim projekcie z kompilacją wielu architektur, ale rzeczy się psują, gdy próbuję umieścić je w katalogu innym niż katalog bieżącego źródła.Jak sprawić, aby GCC szukało nagłówków w katalogu przed katalogiem bieżącego pliku źródłowego?
Plik jest zawarty w podwójnych cudzysłowach i działa, jeśli zmienię go na nawiasy kątowe, ale problem polega na tym, że mam wiele innych projektów, które używają tej samej prekompilowanej nazwy nagłówka, więc zmieniając wszystkie pod kątem pod kątem nawiasy nie są pożądane, ponieważ mogą powodować niejednoznaczność nagłówka, który należy uwzględnić w kompilacji Visual Studio tych samych plików.
GCC searches current directory for double-quote includes before its search path. Mogę obejść go przy użyciu opcji -I-
(na przykład -Ipch_dir.i686 -I-
), aby wstępnie skompilowany katalog nagłówków był przeszukiwany przed bieżącym katalogiem, ale ta opcja jest nieaktualna. GCC sugeruje użycie -iquote
, ale nie ma takiego samego efektu jak -I-
.
Pytanie brzmi: jak mogę to zrobić bez zmiany wszystkich prekompilowanych nagłówków to dyrektywy do nawiasów ostrych i użycie przestarzałego przełącznika GCC?
Co jest złego w przypadku posiadania jednego zestawu wstępnie skompilowanych nagłówków w jednym miejscu, które są używane w projektach? Czy zmiana nazwy prekompilowanego nagłówka, jeśli musi być unikalna dla twojego projektu? –
@Owen S. Chciałbym uniknąć wprowadzania istotnych zmian w globalnej strukturze projektu/systemie budowy. –