通过 CMake/CMakeLists.txt 为 Xcode 项目包含 Eigen 库
Include Eigen library for Xcode project via CMake/CMakeLists.txt
我的项目有以下 CMakeLists.txt
(在我的 "project" 文件夹中)文件。
# 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 抛出错误:
所以我想我的 CMakeLists.txt
中有一些错误,不幸的是我收到了那个文件,我是 CMake 的新手,因此我没有自己编写它,也不是很熟练使用 CMake。
你知道导致错误的原因吗?你能用 Eigen 库修复我的项目 运行 的 CMakeLists.txt
吗?
不幸的是,windows 似乎对此没有问题,而 mac 却在喋喋不休。
你只需要使用
#include <Eigen/Dense>
而不是
#include <Eigen\Dense>
...非常愚蠢的错误。
我的项目有以下 CMakeLists.txt
(在我的 "project" 文件夹中)文件。
# 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 抛出错误:
所以我想我的 CMakeLists.txt
中有一些错误,不幸的是我收到了那个文件,我是 CMake 的新手,因此我没有自己编写它,也不是很熟练使用 CMake。
你知道导致错误的原因吗?你能用 Eigen 库修复我的项目 运行 的 CMakeLists.txt
吗?
不幸的是,windows 似乎对此没有问题,而 mac 却在喋喋不休。 你只需要使用
#include <Eigen/Dense>
而不是
#include <Eigen\Dense>
...非常愚蠢的错误。