您的位置:首页 > 其它

Cmake编译 VTK时出现问题:error configuration process, project files may be invalid的解决方法

2018-10-29 11:23 1271 查看

在搭建vtk的基本环境之后,接下来就是学习过程了。但是自己在第一个例子就出现了一堆问题,这里贴出来解决之道,先填一波坑再说。

1. 问题介绍

我是按照:东灵VTK教程系列导航 学习的。
按照上面的介绍,首先编写第一个cmake编译vtk的例子:

首先是cmake代码:

cmake_minimum_required(VERSION2.8)

project(TestVTKInstall)

find_package(VTKREQUIRED)

include(${VTK_USE_FILE})

add_executable(${PROJECT_NAME}TestVTKInstall.cpp)

target_link_libraries(${PROJECT_NAME}vtkRendering vtkCommon)

然后是cpp代码:

#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>

int main()
{
vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
renWin->Render();
std::cin.get();
return 0;
}

按照作者的例子: 在编译的时候就出现了一个弹窗,上面的内容是

error configuration process, project files may be invalid

2. 问题解决:

首先按照这篇文章解决Cmake VTK时出现问题:error configuration process, project files may be invalid的方法并没有起到作用。这里稍微介绍一下这种方法。

2.1 没有使用CMake选择对应机器上的VS版本。

用Cmake配置生成对应的VS解决方案时,需要对应正确的vs版本。这里和之前安装VTK时候使用的版本一致。

2.2 没有清理之前错误缓存

|
点击左上角的

file->delete cathe
清理一下缓存。

2. 3 cmake list程序编写问题

按照上面的介绍并没有解决我们的问题,那只好继续google了。我们在stackoverflow几篇帖子上看到我们类似的问题。

  1. VTK + Cmake -> USE_VTK_RENDERING erro
  2. CMake error: ‘target is not built by this project’
  3. Cmake link liabray target link error
  4. CMake OpenCV Cannot Specify Link Libraries

按照上面介绍,和我们的CMakeLists代码做出对比,我们经过一句一句代码的尝试,最后发现一个非常隐蔽的错误,就是我们需要在CMakeLists中一定需要注意打空格!!!

具体来说,

  1. 就是第一行:
    VERSION
    2.8
    有一个空格。
  2. 第三行:
    VTK
    REQUIRED
    有一个空格
  3. 第9行,
    TestVTKInstall.cpp
    之前有一个空格。
  4. 第11行,我们将之前的
    vtkRendering vtkCommon
    修改成
    ${VTK_LIBRARIES}
    另外之前还有一个空格。如果单纯的加一个空格,虽然cmake是没有什么错误的。但是之后再vs编译的时候,会出现如下错误,所以修改就好了。

最后CMakeLists.txt代码:

cmake_minimum_required(VERSION 2.8)

project(TestVTKInstall)

find_package(VTK REQUIRED)

include(${VTK_USE_FILE})

add_executable(${PROJECT_NAME} TestVTKInstall.cpp)

target_link_libraries(${PROJECT_NAME} ${VTK_LIBRARIES})

3. 在vs运行

在cmake没有错误之后,我们configure, 然后generate。以管理员的方式打开vs2017。打开我们编译好的文件。首先
首先我们编译

ALL_BUILD
点击F7,或者是生成就可以了。如果没有错误,右键TestVTKInstall将其设置为启动项,然后点击F5,或者运行就可以输出正确的结果了。

Over

遇到问题一个个解决就好了。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐