Cześć, problem jest następujący.
W uproszczeniu system składa się z 4 części:

  1. Spore biblioteki zewnętrznej firmy (API), które były skompilowane z opcją [/Zc:wchar_t-]
  2. Spora moja biblioteka, która była skompilowana z opcją [/Zc:wchar_t+] i zawiera własną klasę string zależną od wchar_t
  3. Spora moja dllka, która pełni rolę pośrednika między powyższymi bibliotekami i aplikacją główną (oczywiście skompilowana z opcją [/Zc:wchar_t+])
  4. Aplikacja główna, która bezpośrednio porozumiewa się z dllką z 3 punktu. Skompilowana z opcją [/Zc:wchar_t+]

API z pierwszego punktu wszystko psuje i podczas kompilacji dostaję błędy linkera. W pomocy mają napisane, że jeśli to wystąpi to muszę wyłączyć opcję [/Zc:wchar_t]. Jeśli ją wyłączam, to wtedy dostaję błędy linkera związane z moją biblioteką (2) i jej stringiem. Nie mogę za wiele grzebać, bo mam tak naprawdę różne api (1) i różne dllki (3 - każda łączy się z odpowiednim api). Czy jest jakiś sposób, żeby to ogarnąć bez większych zmian? Jedyne, na co mogę sobie pozwolić to jakieś niewielkie zmiany w mojej bibliotece(2), które nie naruszą mi całego interfejsu (wchar_t).