2 mashuang0413 mashuang0413 于 2016.02.26 20:00 提问

CMakeLists编译出错,如何使用?

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

project(kinect_capture)

set(FREENECT_DIR "c:/code/libfreenect")
set(FREENECT_BUILD_DIR "c:/code/libfreenect_build")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${FREENECT_DIR}/cmake_modules/")

#Boost
set(BOOST_ROOT "c:/code/boost_1_47_0")
set(BOOST_LIBRARYDIR "C:/code/boost_1_47_0/stage/lib")
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost COMPONENTS date_time)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${BOOST_LIBRARYDIR})

#VTK
#find_package(VTK)
#if(VTK_FOUND)

INCLUDE(${VTK_USE_FILE})

#endif() f

#PCL
#find_package(PCL 1.1 COMPONENTS common visualization)
#include_directories(${PCL_INCLUDE_DIRS})
#link_directories(${PCL_LIBRARY_DIRS})
#add_definitions(${PCL_DEFINITIONS})

#OpenCV
set(OpenCV_DIR "C:/code/OpenCV2.2/build")
find_package(OpenCV COMPONENTS filesystem)
include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${OpenCV_LIB_DIR})

#OpenGL
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories(${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS} ${USB_INCLUDE_DIRS})
#include_directories("C:/code/glew-1.7.0/include")
#include_directories("C:/code/glew-1.7.0/lib")

#Glui
include_directories("C:/code/glui-2.35/src/include")
link_directories("c:/code/glui-2.35/src/msvc/lib")

#PTHREAD
set(THREADS_PTHREADS_INCLUDE_DIR "c:/code/pthreads-2-8-0/include")
set(THREADS_PTHREADS_WIN32_LIBRARY "c:/code/pthreads-2-8-0/lib/pthreadVC2.lib")
set(THREADS_USE_PTHREADS_WIN32 true)
find_package(Threads REQUIRED)
include_directories(${THREADS_PTHREADS_INCLUDE_DIR})

#USB
set(LIBUSB_1_INCLUDE_DIR "C:/code/libusb-1.2.5.0/include")
set(LIBUSB_1_LIBRARY "C:/code/libusb-1.2.5.0/lib/msvc/libusb.lib")
find_package(libusb-1.0 REQUIRED)
include_directories(${LIBUSB_1_INCLUDE_DIRS})
include_directories("${FREENECT_DIR}/platform/windows")
include_directories("${FREENECT_DIR}/platform/windows/libusb10emu")

#Freenect
include_directories("${FREENECT_DIR}/include")
#set(FREENECT_LIBRARY_DIR optimized "${FREENECT_BUILD_DIR}/lib/Release/" debug "${FREENECT_BUILD_DIR}/lib/Debug/")
set(FREENECT_LIBRARY_DIR "${FREENECT_BUILD_DIR}/lib/")
link_directories(${FREENECT_LIBRARY_DIR})
set(FREENECT_LIBRARIES "freenect.lib")

#Files
file(GLOB_RECURSE INCS "*.h")
set(SRCS
kinect_capture.cpp
kinect_capture_app.cpp
kinect_calibration.cpp
freenect_module.cpp
)

#Build
add_executable (kinect_capture ${SRCS} ${INCS})
target_link_libraries (kinect_capture ${FREENECT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${LIBUSB_1_LIBRARIES} ${OpenCV_LIBS} ${Boost_LIBRARIES})
#${PCL_LIBRARIES} ${VTK_LIBRARIES}

这是cmakelist的全部内容,#Boost,#VTK,#PCL,#OpenCV,#OpenGL,#Glui,#PTHREAD,#Freenect这些在电脑里都要有吗??

1个回答

devmiao
devmiao   Ds   Rxr 2016.02.26 22:27

这些都是定义的符号,在你的build文件定义

mashuang0413
mashuang0413 build是什么是linux系统下的东西吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
用CMakeLists.txt替代makefile创建openwrt软件包(编译自己的应用程序)
这两天学习了CMakeLists.txt的规则和写法 先给大家发几个CMakeLists.txt的学习网址和官网doc https://cmake.org/cmake-tutorial/  【入门学习步骤】 http://blog.csdn.net/sunbaigui/article/details/6625547    【简单示例】 https://cmake.org
CMakeLists入门学习笔记
因为在使用OPENCV以及caffe的过程中都接触到了许多关于CMake的使用,于是就想了解一下CMake究竟是怎样一个东西,有什么作用。顺便做一个学习笔记。 本文参考《CMake Practice》这篇文章完成,旨在指导用户快速使用CMake,如果需要更详细的内容,请通读《CMake Practice》这篇文章。下载路径:http://sewm.pku.edu.cn/src/paradi
android 在module内创建CMakeLists.txt来实现生成多个.so文件
公司要做sdk,而且大部分代码都是c++的,这就需要在项目中生成多个.so文件,一个是sdk主体,一个是测试代码,通过网上查了相关资料有不同的方法 没有module的实现方法 AndroidStudio项目CMakeLists解析 有module的实现方法 Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库 我只参考了有module的方法 首先在自己
cmake 实例 Makefile
CMakeLists 以及cmake的基本使用
CMakeLists 的使用,大型工程使用cmake 的构件过程
CMake是一个跨平台的程序构建工具,比如起自己编写Makefile方便很多。 简单介绍一下CMKALIST 的简单实用 第一:首先构建比较简单的工程 1.构建一个工程的时候,需要做的几件事情(如果下面几件事你知道怎么做了,多大的工程就都不是问题了): A.源代码在哪里? B.头文件在哪里? C.怎么生成静态或者动态库? D.程序链接的静态库在哪里?
基于CMakelists的程序调试--QT
很多开源程序,都是使用CMakelists写的。出现问题时,使用gdb进行调试比较麻烦,gdb调试时要求程序是Debug编译的。 一种办法是把程序修改成基于Qt的程序,但是修改的过程中,肯行也会遇到很多问题。 其实,CMakelists也有Debug模式,只是一般开源的程序,都默认的是release发行的。 使用QT作为编译环境 方法: 加载项目的CMakelists,然后在Argu
使用qt和cmakelists进行debug调试
首先使用qt 打开的cmakelists的工程,如果需要进行debug调试的话,需要在CMakeLists.txt里加上一句 SET(CMAKE_BUILD_TYPE DEBUG) 即可。 然后运行qt,使用调试运行的按钮,就可以单步调试运行程序了。
使用CMake编写CMakeLists.txt文件
target Targets represent executables, libraries, and utilities built by CMake. Every add_library, add_executable, and add_custom_target command creates a target. For example, the follwing command wil
CMakeLists.txt使用C++11标准
在CMakeLists.txt文件中添加一行代码 add_definitions(-std=c++11) 即可!
Ubuntu16.04: CUDA编程及CMakeLists.txt编写
在Windows下进行CUDA编程是一件非常容易的事(安装好VS,再安装CUDA Toolkit即可),但是在Ubuntu下则需要手动编写CMakeLists.txt文件,才能进行CUDA编程。 参考一些代码,我编写了一个CUDA编程的示例,代码如下: github:cuda_cmakelists