Ubuntu g++;不';找不到包含-I参数的文件
我正在Ubuntu上使用cMake gui/make编译一个包。包需要pyublas的地址,默认情况下该地址位于Ubuntu g++;不';找不到包含-I参数的文件,ubuntu,gcc,compiler-errors,cmake,include-path,Ubuntu,Gcc,Compiler Errors,Cmake,Include Path,我正在Ubuntu上使用cMake gui/make编译一个包。包需要pyublas的地址,默认情况下该地址位于/usr/local/lib/python2.7/dist packages/pyublas。配置并运行make后,使用正确的参数-I/usr/local/lib/python2.7/dist packages/pyublas调用g++,但g++-4.6生成错误消息: [80%]构建CXX对象src/cuv_python/cmakfiles/cuv_python.dir/export_
/usr/local/lib/python2.7/dist packages/pyublas
。配置并运行make
后,使用正确的参数-I/usr/local/lib/python2.7/dist packages/pyublas
调用g++
,但g++-4.6
生成错误消息:
[80%]构建CXX对象src/cuv_python/cmakfiles/cuv_python.dir/export_tensor.cpp.o
cd/home/xxx/workspace/CUV/build/src/CUV_python&&/usr/bin/g++-4.6-DRANDOM_PATH=/home/xxx/workspace/CUV/build
-Dcuv_python_导出-fPIC-O3-DNDEBUG-fPIC-I/usr/local/cuda/C/common/inc-I/home/xxx/workspace/CUV/src/tools-I/home/xxx/workspace/CUV/src-I/home/xxx/workspace/basics-I/home/xxx/workspace/CUV/src/convert-I/home/xxx/workspace/CUV/src/src/tops-I/home/CUV/src/src-I/home/xxx/workspace/CUV/src/random-I/usr/include/python2.7-I/usr/local/lib/python2.7/dist packages/pyublas-o CMakeFiles/CUV_python.dir/export_tensor.cpp-c
/home/xxx/workspace/CUV/src/CUV_python/export_tensor.cpp
/home/xxx/workspace/CUV/src/CUV_python/export_tensor.cpp:39:29:
致命错误:pyublas/numpy.hpp:没有这样的文件或目录
检查pyublas
我可以看到该文件夹中的numpy.hpp
。
将pyublas文件夹更改为/usr/local/lib/python2.7/dist-packages
——增加一个文件夹——并不能解决问题。它会产生完全相同的错误
我不知道出了什么问题
以下是CMakeLists.txt:
cmake_最低要求(2.6版致命错误)
#
#如果用户在命令行上指定-DCMAKE\u BUILD\u TYPE,则使用
#定义#并将其与适当的文档一起转储到缓存中,
#否则,在调用PROJECT()之前,将CMAKE_BUILD#TYPE设置为Debug
#
IF(定义的CMAKE\U构建类型)
设置(CMAKE_BUILD_TYPE${CMAKE_BUILD_TYPE}缓存字符串“选择生成类型,选项为:无(使用CMAKE_CXX_标志或CMAKE_C_标志)调试版本RelWithDebInfo MinSizeRel。”)
ELSE()
SET(CMAKE_BUILD_TYPE Release CACHE STRING“选择生成的类型,选项为:无(使用CMAKE_CXX_标志或CMAKE_C_标志)调试版本RelWithDebInfo MinSizeRel。”)
ENDIF()
项目(CUV Fortran CXX C)
集合(CMAKE_模块路径${CMAKE_模块路径}${CMAKE_源目录}/CMakeModules)
执行进程(命令“date”“+%Y%m%d%H%m”输出变量DATESTR)
字符串(正则表达式替换“^(..)(..)(..)(..)(..)。*”\\1\\2\\3\\4\\5“DATESTR${DATESTR})
SET(LIB_后缀“”)
IF(${CMAKE\u BUILD\u TYPE}”STREQUAL“Debug”)
集合(LIB_后缀_dbg)
ENDIF(${CMAKE_BUILD_TYPE}”STREQUAL“Debug”)
包括(InstallRequiredSystemLibraries)
设置(CPACK\U源\U发生器“DEB”)
设置(CPACK_发生器“DEB”)
#设置(CPACK\u包名称“cuv${LIB\u后缀}”)
集合(CPACK\u PACKAGE\u DESCRIPTION\u SUMMARY“CPU和GPU上的N维阵列数据结构和算法”)
套装(CPACK\u包装\u供应商“Hannes Schulz”)
成套设备(CPACK\u PACKAGE\u联系人“Hannes Schulz”)
设置(CPACK\u PACKAGE\u DESCRIPTION\u文件“${CMAKE\u SOURCE\u DIR}/README”)
如果(CMAKE_SIZEOF_VOID_P等于8)
设置(CPACK_DEBIAN_PACKAGE_ARCHITECTURE“amd64”)
ENDIF(CMAKE_SIZEOF_VOID_P等于8)
设置(CPACK\u PACKAGE\u VERSION\u MAJOR“0”)
套件(CPACK\u PACKAGE\u VERSION\u MINOR“9”)
设置(CPACK\u包\u版本\u补丁${DATESTR})
SET(CPACK_SOURCE_IGNORE_FILES“${CPACK_SOURCE_IGNORE_FILES};cfg/config.h;${CMAKE_SOURCE_DIR}/.git;${CMAKE_SOURCE_DIR}/src/matrix_ops/spmv kernel_inst.cuh;${CMAKE_SOURCE DIR DIR/src/matrix_ops/spmv kernel inst.cuh-$}
设置(CPACK\u PACKAGE\u FILE\u NAME“${PROJECT\u NAME}${LIB\u SUFFIX}}{CPACK\u PACKAGE\u VERSION\u MAJOR}.${CPACK\u PACKAGE\u VERSION\u MINOR}.${CPACK u PACKAGE\u VERSION\u PATCH}${CPACK u DEBIAN\u PACKAGE\u ARCHITECTURE})
设置(CPACK\u输出\u文件\u前缀“./…”)
套装(CPACK_DEBIAN_PACKAGE_MAINTAINER“Hannes Schulz”)
设置(CPACK\u DEBIAN\u PACKAGE\u节“devel”)
设置(CPACK\u DEBIAN\u PACKAGE\u CONTROL\u EXTRA“${CMAKE\u CURRENT\u SOURCE\u DIR}/prerm;”)
#设置(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA“${CMAKE_CURRENT_SOURCE_DIR}/postinst;”)
#设置(CPACK_PACKAGE_INSTALL_目录“cuv${LIB_SUFFIX}”)
设置(CPACK_DEBIAN_包取决于“libboost dev、libblas dev、libpng dev、libjpeg dev”)
SET(CPACK_DEBIAN_PACKAGE_建议使用“cimgdev、python dev、libboostpython dev”)
包括(注册会计师)
查找_包(Doxygen)
如果(发现强氧)
配置文件(${CMAKE\u SOURCE\u DIR}/doc/Doxyfile.in${CMAKE\u BINARY\u DIR}/docs/Doxyfile)
添加自定义命令(
依赖${CMAKE\u BINARY\u DIR}/docs/Doxyfile
输出${CMAKE\u BINARY\u DIR}/docs/html/index.html
命令${DOXYGEN\u EXECUTABLE}${CMAKE\u BINARY\u DIR}/docs/Doxyfile
工作目录${CMAKE\u SOURCE\u DIR}
)
添加自定义目标(doc依赖${CMAKE_BINARY_DIR}/docs/html/index.html${CMAKE_BINARY_DIR}/docs/Doxyfile)
ENDIF(发现强氧)
启用_测试()
添加子目录(src)
添加您的CMakeLists.txt(最终在src目录的CMakeLists.txt中) 当然,从你的cmake通话中删除它
如果不起作用,请在src目录中发布CMakeLists.txt。发布你的CMakeLists.txt文件肯定会有助于回答这个问题。我用CmakeList.txt文件更新了帖子。如果您想查看其他文件,请告诉我。我们还需要查看src子目录中的CMakeLists.txt文件。顶级目录没有显示如何设置include目录。
Here's the CMakeLists.txt:
cmake_minimum_required( VERSION 2.6 FATAL_ERROR )
#
# If the user specifies -DCMAKE_BUILD_TYPE on the command line, take their
# definition # and dump it in the cache along with proper documentation,
# otherwise set CMAKE_BUILD_TYPE # to Debug prior to calling PROJECT()
#
IF(DEFINED CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
ELSE()
SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
ENDIF()
PROJECT(CUV Fortran CXX C)
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeModules )
EXECUTE_PROCESS(COMMAND "date" "+%Y%m%d%H%M" OUTPUT_VARIABLE DATESTR)
string(REGEX REPLACE "^(....)(..)(..)(..)(..).*" "\\1\\2\\3\\4\\5" DATESTR ${DATESTR})
SET(LIB_SUFFIX "")
IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
SET(LIB_SUFFIX _dbg)
ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
INCLUDE(InstallRequiredSystemLibraries)
SET(CPACK_SOURCE_GENERATOR "DEB")
SET(CPACK_GENERATOR "DEB")
#SET(CPACK_PACKAGE_NAME "cuv${LIB_SUFFIX}")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "N-dimensional array datastructures and algorithms on CPU and GPU")
SET(CPACK_PACKAGE_VENDOR "Hannes Schulz")
SET(CPACK_PACKAGE_CONTACT "Hannes Schulz <schulz@ais.uni-bonn.de>")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README")
IF( CMAKE_SIZEOF_VOID_P EQUAL 8 )
SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
ENDIF( CMAKE_SIZEOF_VOID_P EQUAL 8 )
SET(CPACK_PACKAGE_VERSION_MAJOR "0")
SET(CPACK_PACKAGE_VERSION_MINOR "9")
SET(CPACK_PACKAGE_VERSION_PATCH ${DATESTR})
SET(CPACK_SOURCE_IGNORE_FILES "${CPACK_SOURCE_IGNORE_FILES};cfg/config.h;${CMAKE_SOURCE_DIR}/.git;${CMAKE_SOURCE_DIR}/src/matrix_ops/spmv_kernel_inst.cuh;${CMAKE_SOURCE_DIR}/src/matrix_ops/spmv_kernel_inst.cuh-;${CMAKE_SOURCE_DIR}/build;${CMAKE_SOURCE_DIR}/debug")
SET(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}${LIB_SUFFIX}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
SET (CPACK_OUTPUT_FILE_PREFIX "../..")
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Hannes Schulz <schulz@ais.uni-bonn.de>")
SET(CPACK_DEBIAN_PACKAGE_SECTION "devel")
SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/prerm;")
#SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/postinst;")
#SET(CPACK_PACKAGE_INSTALL_DIRECTORY "cuv${LIB_SUFFIX}")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libboost-dev, libblas-dev, libpng-dev, libjpeg-dev" )
SET(CPACK_DEBIAN_PACKAGE_SUGGESTS "cimg-dev, python-dev, libboost-python-dev" )
INCLUDE(CPack)
FIND_PACKAGE(Doxygen)
IF(DOXYGEN_FOUND)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/doc/Doxyfile.in ${CMAKE_BINARY_DIR}/docs/Doxyfile)
ADD_CUSTOM_COMMAND(
DEPENDS ${CMAKE_BINARY_DIR}/docs/Doxyfile
OUTPUT ${CMAKE_BINARY_DIR}/docs/html/index.html
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/docs/Doxyfile
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
ADD_CUSTOM_TARGET(doc DEPENDS ${CMAKE_BINARY_DIR}/docs/html/index.html ${CMAKE_BINARY_DIR}/docs/Doxyfile)
ENDIF(DOXYGEN_FOUND)
ENABLE_TESTING()
add_subdirectory(src)
include_directories(/usr/local/lib/python2.7/dist-packages/)