07.06.2013, 09:56. Просмотров 310. Ответов 2
Доброго дня. Подскажите, есть ли возможность решения данной проблемы. Для удобства, часто использующиеся в разных проектах классы, я загнал в различные статические библиотеки, и для использования я просто подключаю заголовочный файл с объявлением интерфейса класса, в котором содержится директива:
C++ |
1
| #pragma comment(lib,"mylib.lib") |
|
путь к которой прописан в настройках среды (MSVS 2010). Но столкнулся с проблемой. В случае статической сборки проекта ( /MT) , если при этом либа собиралась динамически (/MD), и наоборот, то при компиляции линковщик выдает порядка 100 ошибок типа:
Error 13 error LNK2005: ___xc_a already defined in MSVCRTD.lib(cinitexe.obj) ...
Хотелось бы узнать, нельзя ли узнать на этапе сборки, какой тип сборки используется, и передать его препроцессору, типа:
C++ |
1
2
3
4
5
6
| #ifdef _STATIC_BUILD
#pragma comment(lib,"st_mylib.lib")
#endif // static
#efdef _DYnAMIC_BUILD
#pragma comment(lib,"dyn_mylib.lib")
#endif //dynamic |
|