我正在尝试使用Visual Studio 2015从源代码构建一些第三方库。我正在使用cmake 3.2.3创建解决方案文件,并使用ExternalProject_add模块。以前,我曾经在32位Visual Studio 2012中成功编译和构建过这个cmake代码,但是在64位上没有成功。
现在我正在尝试在64位的Visual Studio 2015中进行构建,但是IDE在构建过程中莫名其妙地挂起,无论是debug还是release版本都是如此。有时候构建进程仍在运行,例如cl.exe,但是没有任何进展,我必须去任务管理器中结束与构建相关的所有进程。然后我再次尝试构建它,有时它可以成功构建,而另一些时候它会遇到相同的错误,在构建过程中不同的代码行处挂起,具体取决于它在构建过程中走了多远。
我在尝试在32位下构建解决方案时也遇到了相同的挂起问题。
我不确定是我的Visual Studio 2015安装出了问题,还是我的cmake代码导致了这个问题。我对除了ExternalProject_add之外的cmake并不了解,所以任何关于cmake或者Visual Studio的帮助都将不胜感激。
这里是启动构建的external project代码:
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环境的命令行中构建此内容,但遇到了相同的挂起问题。
cl.exe
进程?)2. 一些后台Visual Studio服务会在多个VS实例中挂起。 - Florian