首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CUDA nvcc致命

CUDA nvcc致命
EN

Stack Overflow用户
提问于 2016-11-14 16:58:30
回答 1查看 776关注 0票数 0

当我试图运行catkin构建时,会得到一个通用错误:

代码语言:javascript
复制
  CMake Error at robot_cuda_lib_generated_matrix.cu.o.cmake:206 (message):
  Error generating
  /.../catkin_ws/build/robot/CMakeFiles/robot_cuda_lib.dir/src/./robot_cuda_lib_generated_matrix.cu.o

或者如果我试图构建文件夹本身:

代码语言:javascript
复制
nvcc fatal   : A single input file is required for a non-link phase when an outputfile is specified

我知道matrix.cu文件可以工作。我把它从他们制作的CUDA教程中拿出来,如果我把它放到另一个项目中的话,效果很好。我的主要理论是,在某种程度上与我的其他软件包有一些冲突。或者我的CMakeLists.txt只是在某个地方错了。我尝试过很多改变和修正。这是目前的版本:

代码语言:javascript
复制
cmake_minimum_required(VERSION 2.8.11)
project(robot)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  pcl_ros
)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}")

find_package(OpenCV REQUIRED)
find_package(efusion REQUIRED)
find_package(Qt4 REQUIRED)
find_package(Qwt REQUIRED)
find_package(VTK 7 REQUIRED)
find_package(CUDA REQUIRED)

include(${QT_USE_FILE})
include(${VTK_USE_FILE})
include(FindCUDA)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES robot
#  CATKIN_DEPENDS roscpp rospy std_msgs
#  DEPENDS system_lib
)

include_directories(
  include
  include/gplvm
  ${catkin_INCLUDE_DIRS}
  ${EFUSION_INCLUDE_DIR}
  ${EIGEN_INCLUDE_DIRS}
  # include this for ui_h
  ${CMAKE_CURRENT_BINARY_DIR}
  ${QWT_INCLUDE_DIR}
  #/usr/local/cuda/include
)

qt4_wrap_cpp(MOC_SRCS
    include/gplvm_plot.hpp
    include/parameter_handler.hpp
    include/robot.hpp
)

qt4_wrap_ui(UI_HDRS
    ui/parameter_handler.ui
    ui/robot.ui
)

file(GLOB robot_cuda "src/*.cu")
file(GLOB robot_srcs "src/*.cpp" "src/kernel/*.cpp" "src/*.cu")
file(GLOB robot_hdrs "include/*.h" "include/*.hpp" "include/kernel/*.h" "include/kernel/*.hpp")

cuda_add_library(robot_cuda_lib ${robot_cuda} ${robot_hdrs})

cuda_add_executable(robot_node ${robot_srcs} ${robot_hdrs} ${MOC_SRCS} ${UI_HDRS})

target_link_libraries(robot_node
   ${catkin_LIBRARIES}
   ${OpenCV_LIBS}
   ${EFUSION_LIBRARY}
   ${Eigen_LIBRARIES}
   ${QWT_LIBRARY}
   ${QT_LIBRARIES}
   ${VTK_LIBRARIES}
)

其他包中有一个可能破坏了构建吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-16 09:41:28

事实上,有些方案不同意数据自动化系统。我把cuda_add_library调用移到了find_package调用之前,它做得很好。

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

https://stackoverflow.com/questions/40593997

复制
相关文章

相似问题

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