CMake和绝对头路径

我一直在Google上搜寻了一​​段时间,我没有结果还让我谈谈你们^^我想要使用CMake的建立我的C ++项目,我在头路径的问题。

因为我使用了很多在几个不同的目录类,我所有的包括语句是使用绝对路径(因此没有必要使用“../../”),但是当试图让CMake的生成Makefile文件,它只是没有按“科技工作。

有谁知道如何指定的CMakeLists.txt,所有的包括与绝对路径? 感谢很多提前。



我试图让时输出

~/multiboost/BanditsLS/GenericBanditAlgorithmLS.h:45:25: Utils/Utils.h: No such file or directory
~/multiboost/BanditsLS/GenericBanditAlgorithmLS.h:46:35: Utils/StreamTokenizer.h: No such file or directory

我的CMakeLists.txt文件:

#The following command allows the use of the "file" command cmake_minimum_required(VERSION 2.6) #The declaration of the project project(multiboost) #This allows recursive parsing of the source files file( GLOB_RECURSE source_files * ) list(REMOVE_ITEM source_files ./build/* ) #This indicates the target (the executable) add_executable( multiboost ${source_files} #EXCLUDE_FROM_ALL build/ )

--------------解决方案-------------

你需要像这样的的CMakeLists.txt:

SET(BASEPATH "${CMAKE_SOURCE_DIR}")
INCLUDE_DIRECTORIES("${BASEPATH}")

设置正确的包含路径:假设你的utils的目录是/ EXP / appstat / benbou / multiboost,然后CMake的(当然实际上,GCC)已经知道这一点:

include_directories( /exp/appstat/benbou/multiboost )

也可能是更方便的通过该作为被命令行上传递一个选项:

include_directories( ${MyProjectRoot} )

cmake -DMyProjectRoot=/exp/appstat/benbou/multiboost

分类:C# 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.779 (s). 10 q(s)