首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'CGAL::Surface_mesh_parameterization::get_error_message(int)‘的多重定义

'CGAL::Surface_mesh_parameterization::get_error_message(int)‘的多重定义
EN

Stack Overflow用户
提问于 2018-04-09 12:26:21
回答 1查看 90关注 0票数 0

我可以使用CGAL曲面网格参数化,并给出了简单的例子。这意味着CGAL是正确安装和功能的。再现错误的方法:

  1. 创建一个空主文件
  2. 创建一个类文件,并对CGAL square_border_parametrize.cpp进行适当修改
  3. 在我完成cmake .make之后,这是目标主33%构建CXX对象CMakeFiles/Main.dir/SBP.cpp.o :0:15:警告:宏名后面缺少空白:警告:在66%构建CXX对象之后缺少空白的输出扫描依赖项CMakeFiles/Main.dir/main.cpp.o :0:15:警告:宏名后面缺少空白:0:15:警告:在宏名后面100%链接CXX可执行主CMakeFiles/Main.dir/main.cpp.o:在函数_mm_getcsr()':/usr/local/_mm_getcsr/CGAL/_mm_getcsr_nt.h:202:在这里首先定义的多个定义collect2:错误: ld返回了一个退出状态CMakeFiles/Main.dir/ failed。主要错误1 CMakeFiles/Makefile2:67:目标' CMakeFiles/Main.dir/all‘失败的make1:*CMakeFiles/Main.dir/ all Error 2 Makefile:140: recipe for target 'all’failed:*all Error 2

我无法找到CGAL::Surface_mesh_parameterization::get_error_message(int)的任何多个定义。我的CMakeLists.txt文件如下所示:

代码语言:javascript
复制
cmake_minimum_required (VERSION 2.8 FATAL_ERROR)
PROJECT(LSCM)
FIND_PACKAGE( OpenCV REQUIRED )
find_package( PCL 1.7 REQUIRED COMPONENTS common io visualization filters )
find_package( CGAL QUIET COMPONENTS )
if ( NOT CGAL_FOUND )
  message(STATUS "This project requires the CGAL library, and will not be compiled.")
  return()  
endif()

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

include( CGAL_CreateSingleSourceCGALProgram )

find_package( Boost REQUIRED )
if ( NOT Boost_FOUND )
  message(STATUS "This project requires the Boost library, and will not be compiled.")
  return()  
endif()

SET(CMAKE_BUILD_TYPE "Debug")
SET(LIBRARY_OUTPUT_PATH "./lib")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
file(GLOB SOURCE_FILES ./*.cpp)

ADD_EXECUTABLE(Main ${SOURCE_FILES})
TARGET_LINK_LIBRARIES(Main ${OpenCV_LIBS} ${PCL_LIBRARIES} ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} -lCGAL -lm ) 
install (TARGETS Main DESTINATION ~/bin)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-10 10:39:31

快速修复:在文件中,include/CGAL/Surface_mesh_parameterization/Error_code.h在const char* get_error_message(int error_code)前面写inline

修补程序在这个拉请求中,它现在被合并到CGAL-4.12中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49732958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档