Форум программистов, компьютерный форум CyberForum.ru

Возможно ли определить тип сборки - C++

Восстановить пароль Регистрация
 
winnisp
 Аватар для winnisp
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 25
07.06.2013, 09:56     Возможно ли определить тип сборки #1
Доброго дня. Подскажите, есть ли возможность решения данной проблемы. Для удобства, часто использующиеся в разных проектах классы, я загнал в различные статические библиотеки, и для использования я просто подключаю заголовочный файл с объявлением интерфейса класса, в котором содержится директива:
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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 09:56     Возможно ли определить тип сборки
Посмотрите здесь:

C++ Известны углы α и β у основания. Выяснить, если это возможно, тип трапеции
C++ Определить тип треугольника.
C++ Определить тип носителя
определить тип выражений: C++
C++ Определить тип переменных
Тип char* к LPCTSTR возможно ли? C++
C++ Определить тип файла
Определить тип символа C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14180 / 6195 / 984
Регистрация: 02.05.2013
Сообщений: 10,314
Завершенные тесты: 1
07.06.2013, 10:27     Возможно ли определить тип сборки #2
MSDN, Predefined Macros (C++)
_DLL

Defined when /MD or /MDd (Multithread DLL) is specified.
winnisp
 Аватар для winnisp
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 25
07.06.2013, 10:48  [ТС]     Возможно ли определить тип сборки #3
Во. То что надо. Проверил, работает, спасибо) Теперь правда придется динамические версии всех библиотек сидеть компилировать, ну это мелочи)
Yandex
Объявления
07.06.2013, 10:48     Возможно ли определить тип сборки
Ответ Создать тему
Опции темы

Текущее время: 19:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru