2016-12-27 379 views
0

我下载了一个zip文件来解决包含我的C++项目的头文件和文件的ODE(odeint in boost)。我可以直接使用它,而无需下载整个升压包?CMakelist.txt将外部头文件和文件包含在文件夹中(odeint in boost)

我的问题是如何使用它。

我在CMakeLists.txt文件中添加了一行(如下所示),我可以找到密钥头文件odeint.hpp。但odeint.hpp包含其他头文件,如config.hpp在子目录中(如图所示)。现在编译器无法找到其他头文件,如config.hpp等。我该怎么办?

(在我下载的程序包是从http://headmyshoulder.github.io/odeint-v2/downloads.html解决常微分方程。)

cmake_minimum_required(VERSION 3.5) 
project(myProjects) 

# I added this line below 
include_directories("D:/myProjects/odeint/include") 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 
set(SOURCE_FILES main.cpp test.h test.cpp) 
add_executable(myProjects ${SOURCE_FILES}) 

enter image description here

+0

为什么要使用CMake的? ODEi​​nt通常如何构建?您不应该在CMakeLists.txt中添加abosulte路径。如果你想使用CMake,请用一本书或教程学习一些CMake,然后重试。我们不会教,我们会帮助有实际问题的人。 – usr1234567

回答

2

您还需要Boost库。我建议只使用boost库并从那里使用odeint。

只需下载并解压即可。然后,您可以轻松使用CMake。只需添加

set(BOOST_ROOT "/path/to/boost") 
find_package(Boost) 
include_directories(${Boost_INCLUDE_DIRS}) 

您的CMakeLists.txt

+0

完美呈现魔法! – drbombe