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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
winnisp
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 25
#1

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

07.06.2013, 09:56. Просмотров 281. Ответов 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
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 09:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возможно ли определить тип сборки (C++):

Тип char* к LPCTSTR возможно ли? - C++
А возможно ли преобразовать тип char* к LPCTSTR? Если да то как?

Как программно определить режим сборки в VS ? - C++
Хотелось бы иметь что-то такое if (IsDebuggerPresent() == TRUE) std::cout << "Debug mode -> active\n"; else std::cout << "Release mode...

Известны углы α и β у основания. Выяснить, если это возможно, тип трапеции - C++
Известны углы α и β у основания трапеции. Выяснить, если это возможно,тип трапеции (прямоугольная, равнобедренная, прямоугольник).

Определить тип параллелограмма - C++
Помогие решить задачки! Задан параллелограмм со сторонами a, b и углом α между ними. Определить тип параллелограмма (ромб,...

Определить тип символа - C++
С клавиатуры вводится символ С. Напечатать y="Это буква",если С-буква. y="Это цифра",если С-цифра. y="Это не цифра и не буква",если...

Определить тип переменных - C++
Здравствуйте, помогите пожалуйста определить тип переменных f и g словами. double (*(*f)(double(*)(double)))(double) double...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
07.06.2013, 10:27 #2
MSDN, Predefined Macros (C++)
_DLL

Defined when /MD or /MDd (Multithread DLL) is specified.
1
winnisp
0 / 0 / 0
Регистрация: 10.09.2012
Сообщений: 25
07.06.2013, 10:48  [ТС] #3
Во. То что надо. Проверил, работает, спасибо) Теперь правда придется динамические версии всех библиотек сидеть компилировать, ну это мелочи)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2013, 10:48
Привет! Вот еще темы с ответами:

Определить тип треугольника - C++
Здравствуйте. Подскажите что не так с кодом. Вот код на паскале var a,b,c:integer; begin writeln('A=,B=,C=:'); readln(a,b,c); ...

Определить тип треугольника. - C++
Задан треугольник с углами a, b и g. Определить тип треугольника — остроугольный, прямоугольный или тупоугольный.

Определить тип файла - C++
Скажем имеется некий архив (Пусть это будет Rar). Когда его открываешь как текст, то его первые 4 символа - Rar! При этом я нашел сигнатуру...

определить тип выражений: - C++
пустьchar c; short s; int o; unsigned u; signed char sc; float f; double d; long ing; unsigned short us; long double ld; c-s/i ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru