通过CMake / CMakeLists.txt包含Xcode项目的特征库

时间:2015-05-17 12:16:12

标签: c++ xcode cmake eigen

我的项目中有以下CMakeLists.txt(在我的“项目”文件夹中)文件。

# define new project
PROJECT(SETUPMARKERTEST)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)

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

# Set static build for GLFW
SET(BUILD_SHED_LIBS OFF)
ADD_SUBDIRECTORY(ext/glfw-3.1.1)

# Set shared lib build for the rest
SET(BUILD_SHARED_LIBS ON)

# Find dependencies
SET(EIGEN_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/ext/Eigen-3.1.2")
FIND_PACKAGE(OpenCV REQUIRED)

# Set header and source files
SET(MAR_Test_SOURCES
    src/main.cpp
    src/MarkerTracker.h src/MarkerTracker.cpp
    src/PoseEstimation.h src/PoseEstimation.cpp
)

# define executable
ADD_EXECUTABLE(${PROJECT_NAME} ${MAR_Test_SOURCES})

# define additional include directories and linking targets
INCLUDE_DIRECTORIES("ext/glfw-3.1.1/include" ${EIGEN_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS} glfw ${OPENGL_glu_LIBRARY} ${GLFW_LIBRARIES})

我的Eigen文件夹位于“project / ext / Eigen / 3.1.2 / Eigen /”中。 不知何故,当我为Xcode创建项目时(在“project / buildXcode /”中使用Cmake .. -G "Xcode")并运行它,Xcode会抛出错误: 'Eigen\Dense' file not found

所以我猜我的CMakeLists.txt有一些错误,不幸的是我收到了这个文件而且我是CMake的新手,因此我不是自己写的,也不是我非常擅长CMake。

你知道导致错误的原因吗?你能解决我的项目与Eigen库运行的CMakeLists.txt吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,看起来Windows对此没有任何问题,而mac正在咩咩叫。 你只需要使用

#include <Eigen/Dense>

而不是

#include <Eigen\Dense>

......非常愚蠢的错误。