Я пытаюсь создать некоторые сторонние библиотеки из исходного кода с помощью Visual Studio 2015. Я создаю файл решения с помощью cmake 3.2.3 и использую модуль ExternalProject_add. Ранее я успешно скомпилировал и построил этот код cmake в 32-битной Visual Studio 2012, но не в 64-битной.
Сейчас я пытаюсь собрать его в 64-битной Visual Studio 2015, и среда IDE необъяснимым образом зависает в процессе сборки как с отладочной, так и с выпускной сборкой. Иногда процессы сборки все еще выполняются, например cl.exe, но ничего не происходит, и мне приходится заходить в диспетчер задач и завершать все процессы, связанные со сборкой. Затем я пытаюсь собрать его снова, и иногда он строится успешно, а в других случаях возникает та же ошибка; зависание на разных строках кода в зависимости от того, как далеко он продвинулся в сборке.
У меня возникла такая же проблема с зависанием при попытке создать решение в 32-битной версии.
Я не уверен, есть ли проблема с моей установкой Visual Studio 2015 или проблема с моим кодом cmake, который вызывает это зависание. Я мало что знаю о cmake за пределами ExternalProject_add, поэтому любая помощь с cmake или Visual Studio очень ценится.
Вот внешний код проекта, который инициирует сборку:
include(ExternalProject)
ExternalProject_Add(${3rdPartyLibraryName}
DOWNLOAD_DIR ${3rdParty_CacheDir}
URL ${3rdPartyURL}
SOURCE_DIR ${3rdPartySourceDir}
TMP_DIR ${3rdPartySourceDir}/${3rdPartyLibraryName}
BUILD_COMMAND nmake /f makefile.vc MSVC_VER=${MSVC_VERSION} WIN64=YES INCDIR=${CMAKE_SOURCE_DIR}/../3rdParty/${3rdPartyLibraryName}/test/include
BINARY_DIR ${3rdPartySourceDir}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:string=${3rdPartySourceDir}
INSTALL_COMMAND ""
)
Изменить
Кроме того, я попытался создать это из командной строки, настроенной в среде VS 2015, и получил ту же проблему с зависанием.