2015-02-01 1 views
3

Как вы можете использовать msbuild для использования MT_StaticRelease?Получение msbuild для использования MT_StaticRelease

Пакет Я пытаюсь построить это LLVM 3.5.1 с помощью Visual Studio 12 64-бит на Windows 7, и ближайший я пришел к тому, что кажется, что это должно быть право командной строки

msbuild /p:Configuration=Release /p:RuntimeLibrary=MT_StaticRelease ALL_BUILD.vcxproj 

но попытка скомпилировать тестовую программу с библиотеками LLVM получает сообщения об ошибках, как

LLVMSupport.lib(CommandLine.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in main-0b0089.obj 

, который наводит на мысль MSBuild все еще использует /MD вместо /MT и Eyeballing процесс сборки, кажется, подтверждает это. Есть ли какая-то опция командной строки, которую я пропускаю?

+0

Вы связываете .lib, который был построен с/MD. Поэтому вам нужно перестроить эту lib или использовать/MD для вашего основного проекта. Последнее очень часто означает правильный выбор,/MT обычно работает только для очень простых программ, которые не имеют зависимостей между DLL. –

+0

Да, я спрашиваю, как перестроить lib и использовать msbuild/MT. Моя программа не имеет зависимостей между DLL. – rwallace

ответ

3

Вам нужно настроить это в конфигурации CMake LLVM в:

LLVM_USE_CRT_DEBUG=MTd 
LLVM_USE_CRT_RELEASE=MT 

 Смежные вопросы

  • Нет связанных вопросов^_^