Pracuję nad nową konfiguracją rozwiązania dla naszego dużego projektu VC++ z wykorzystaniem VS 2008. Chciałbym, aby ta konfiguracja wykorzystała flagę kompilacji wielordzeniowej /MP.Strategie dla wielordzeniowych kompilacji (/ MP), które używają #import
Jednak funkcja "#import" generowania klas COM jest rozpylana w całej bazie kodu, a ta funkcja nie jest obsługiwana podczas używania/MP.
Rozumiem, dlaczego #import nie będzie działał, Chcę wiedzieć, czy ktokolwiek napotkał ten problem i jak się nad nim pracuje?
robie co następuje:
- nie użyć flagi/MP na projektach, które są małe lub poza pomoc. (może wrócę do nich później)
- Usunięto #import i zastąpiłem go bardziej standardowym nagłówkiem generowanym przez MIDL (#include). Jest to tylko opcja w kilku miejscach, które można łatwo przekształcić w old school COM.
- Utwórz nowy projekt, który #importuje pozostałe biblioteki. Najpierw stwórz ten build. #Uwzględnij pliki .tlh, które tworzy we wszystkich miejscach, które # zostały wcześniej zaimportowane.
Jestem ciekawy, czy ktoś ma jakieś inne sugestie? Również w ostatnim punkcie ostatni punkt (tworzenie nowego projektu i używanie tylko #import) - jeśli zrobiłeś coś takiego, jak to zrobiłeś? Jaki typ projektu, jak wyglądało "źródło", skąd pliki wyjściowe? Jak je uwzględnić? (wiesz, zrób wszystko, co dla mnie!)
Twoja ostatnia opcja wydaje się być najlepszym sposobem na zrobienie tego, jeśli chcesz tworzyć kompilacje wielordzeniowe - jest spójna i nie marnuje się. Sorr, że nie mogę pomóc w szczegółach na ten temat, – Tim
Dzięki za komentarz. Okazuje się, że potrzebuję kilku etapów generowania Tlh na różnych etapach budowy (prawie beznadziejna bitwa). Zatrzymałem to - moja obecna walka to odejście od VSS. – Aardvark
Oto twoja odpowiedź http://stackoverflow.com/questions/650578/replacement-for-import-in-visual-c –