5

尝试在 Windows 8.1 中的 VS2012 上构建 PCL,以便我可以尝试将我的 Kinect for Windows v2 传感器与其集成,但是我似乎遇到了一堆我不知道该怎么处理的 CMake 错误。这部分是因为我对 CMake 不是很熟悉,所以我正在关注这里的教程,其中概述了使用 CMake GUI 构建依赖项。但是,在整个过程中,我发现唯一正确构建的东西是我在命令行中使用 cmake 构建的东西。错误是:

对于弗兰:

当尝试在 VS2012 中构建 INSTALL 时(这甚至没有进入其他构建错误,但让我们从这里开始)我得到:

错误 21 错误 C2228: '.serialize' 左侧必须有类/结构/联合 D:\flann-1.8.4-src\flann-1.8.4-src\src\cpp\flann\util\serialization.h 第 18 行: type.serialize(ar); 错误 24 错误 LNK1181:无法打开输入文件 '..\lib\Release\flann.lib' D:\flann-1.8.4-src\flann-1.8.4-src\build\examples\LINK 错误 25 错误 MSB3073:命令“setlocal C:\CMake\bin\cmake.exe -DBUILD_TYPE=Release -P cmake_install.cmake if %errorlevel% neq 0 goto :cmEnd :cmEnd endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone :cmErrorLevel exit / b %1 :cmDone if %errorlevel% neq 0 goto :VCEnd :VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets 134

对于 VTK:

VTK_USE_QTOPENGL 选项没有出现,即使我已经首先启用了 VTK_USE_QT,并且 VS2012 的项目生成崩溃了几次,但能够克服崩溃(我担心这对于实际使用 VTK 来说不是好兆头)

对于 Qhull:

与 FLANN 类似的错误:

错误 1 ​​错误 MSB3073:命令“setlocal C:\CMake\bin\cmake.exe -DBUILD_TYPE=Debug -P cmake_install.cmake if %errorlevel% neq 0 goto :cmEnd :cmEnd endlocal & call :cmErrorLevel %errorlevel% & goto : cmDone :cmErrorLevel exit /b %1 :cmDone if %errorlevel% neq 0 goto :VCEnd :VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft. CppCommon.targets 134

但它的其余部分构建得很好。任何的建议都受欢迎。

4

1 回答 1

11

我在 Windows 7 中使用 VS2012 构建 PCL 时遇到了类似的问题。

这就是我解决的方法:对于所有情况,在以管理员身份打开 Visual Studio之前。

法兰

  1. 使用 CMake 并单击“配置”后,将 BUILD_PYTHON_BINDINGS 和 BUILD_MATLAB_BINDINGS 设置为 OFF。
  2. 再次单击“配置”,然后单击“生成”。
  3. 打开 solucion 文件(以 VS 为管理员)。
  4. 编辑文件 flann\src\cpp\flann\util\serialization.h 在语句 BASIC_TYPE_SERIALIZER(...) 之后添加以下行(大约在第 93 行):#ifdef _MSC_VER BASIC_TYPE_SERIALIZER(unsigned __int64); #万一
  5. 在调试和发布配置中构建 ALL_BUILD 项目和 INSTALL 项目。

QHUll

  1. 打开 CMake,在单击“配置”之前,单击“添加条目”并填写以下字段:名称:CMAKE_DEBUG_POSTFIX 类型:字符串值:_d
  2. 然后单击“确定”。
  3. 单击“配置”两次,然后单击“生成”。
  4. 打开解决方案并在调试和发布配置中构建 ALL_BUILD 项目和 INSTALL 项目。

VTK

  1. 打开 CMake 并在单击“配置”之前,如果您没有 Qt4.x 的环境变量,请手动定位:QT_QMAKE_EXECUTABLE 到 qmake.exe QT_QTCORE_librery_RELEASE QT_QTCORE_LIBRARY_DEBUG QT_MKSPECIF_DIR 的位置
  2. 打开解决方案并在调试和发布配置中构建 ALL_BUILD 项目和 INSTALL 项目。

希望对你有效。

于 2014-12-18T14:11:34.560 回答