Libigl示例102测试错误

时间:2018-03-26 18:26:40

标签: ubuntu cmake libigl

我尝试在Ubuntu 16.4上使用libigl,但在构建示例102时遇到了一些错误。

首先,我在/ usr / local / include / Eigen /.

中安装了Eigen

然后,我按照以下命令下载了libigl代码:

git clone --recursive https://github.com/libigl/libigl.git

接下来,我尝试构建示例102.根据此建议。

The examples can also be built independently using the CMakeLists.txt inside each example folder.

因此,在下载源代码之后,我直接构建示例102,而不是通过位于/ libigl / tutorial /中的相应CMakeLists.txt构建整个教程。

我喜欢这个: (1)cd到文件夹:.... / libigl / tutorial / 102_DrawMesh

(2)mkdir build

(3)cd build

(4)cmake ../

在cmake ../之后,我收到了以下错误,似乎找不到位于.... / libigl / tutorial / 102_DrawMesh中的CMakeLists.txt中指定的链接库。

以下是错误:

  

- C编译器标识是GNU 5.4.0    - CXX编译器标识是GNU 5.4.0    - 检查工作的C编译器:/ usr / bin / cc    - 检查工作C编译器:/ usr / bin / cc - 工作    - 检测C编译器ABI信息    - 检测C编译器ABI信息 - 完成    - 检测C编译功能    - 检测C编译功能 - 完成    - 检查CXX编译器是否正常工作:/ usr / bin / c ++    - 检查工作CXX编译器:/ usr / bin / c ++ - 有效    - 检测CXX编译器ABI信息    - 检测CXX编译器ABI信息 - 完成    - 检测CXX编译功能    - 检测CXX编译功能 - 在CMakeLists.txt中完成CMake警告(dev):不存在cmake_minimum_required命令。一个   代码行,如

cmake_minimum_required(VERSION 3.5)
     

应添加在文件的顶部。指定的版本可能   如果您希望支持较旧的CMake版本,请降低   项目。有关更多信息,请运行" cmake --help-policy CMP0000"。   此警告适用于项目开发人员。使用-Wno-dev来抑制它。

     

- 在CMakeLists.txt配置完成的CMake警告(dev):4(add_executable):未设置策略CMP0028:目标中的双冒号   name表示ALIAS或IMPORTED目标。运行" cmake --help-policy   CMP0028"政策细节。使用cmake_policy命令设置   政策并取消此警告。

     

目标" 102_DrawMesh_bin"链接到目标" igl :: core"但目标   没找到。也许缺少find_package()调用   导入的目标或ALIAS目标丢失了吗?这个警告是为了   项目开发者。使用-Wno-dev来抑制它。

     

CMakeLists.txt上的CMake警告(dev):4(add_executable):策略   CMP0028未设置:目标名称中的双冒号表示ALIAS或
  进口目标。运行" cmake --help-policy CMP0028"对于政策   细节。使用cmake_policy命令设置策略并禁止   这个警告。

     

目标" 102_DrawMesh_bin"链接到目标" igl :: opengl"但是   找不到目标。也许缺少find_package()调用   是IMPORTED目标,还是缺少ALIAS目标?这个警告是   对于项目开发人员使用-Wno-dev来抑制它。

     

CMakeLists.txt上的CMake警告(dev):4(add_executable):策略   CMP0028未设置:目标名称中的双冒号表示ALIAS或
  进口目标。运行" cmake --help-policy CMP0028"对于政策   细节。使用cmake_policy命令设置策略并禁止   这个警告。

     

目标" 102_DrawMesh_bin"链接到目标" igl :: opengl_glfw"但是   找不到目标。也许缺少find_package()调用   是IMPORTED目标,还是缺少ALIAS目标?这个警告是   对于项目开发人员使用-Wno-dev来抑制它。

     

- 生成完成    - 构建文件已写入:/ home / chayfung / Workspace / Mesh / libigl / tutorial / 102_DrawMesh / build

           

有人可以给我一些建议吗?

感谢。

2 个答案:

答案 0 :(得分:1)

我不知道你是否已经整理好了。但是它们可以独立构建,因为cmake与其他所有内容相比,构建/ make过程可以独立完成。

请按照指示按照常规步骤进行操作。

cd libigl/tutorial
mkdir build
cd build
cmake ../

您可以修改CMakeLists.txt中的tutorial以仅制作您想要的目录,或使用ccmake ../进行临时工作。

答案 1 :(得分:0)

(1)删除原始源代码并再次下载,生成一个名为libigl的新文件夹,找到/mesh/libigl

(2)cd到教程/libigl/tutorial/

(3)更改位于CMakeList.txt的{​​{1}}。我只是禁用了有关示例章节的所有选项,请参阅下图。

tutorial_CMakeLists_txt-1

tutorial_CMakeLists_txt-2

tutorial_CMakeLists_txt-3

tutorial_CMakeLists_txt-4

(4)/libigl/tutorial/

(5)mkdir build

(6)cd build

(7)cmake ../

(8)在路径make中,我获得了以下/mesh/libigl/tutorial/build/个库。请参见下图。同样在子文件夹中,还会生成其他.a个库。

tutorial_build_libraries

(9).a到路径cd

(10)/mesh/libigl/tutorial/102_DrawMesh/

(11)mkdir build

(12)cd build

执行cmake ../后,我收到了以下错误,似乎有些库仍未发现。见下图。

cmake_error-1

cmake_error-2

所以,cmake ../肯定失败了。

有什么想法吗?

感谢。