私のプロジェクトは構造である:CMakeでヘッダファイルとソースファイルを分離する方法は?
--root: main.cpp CMakeLists.txt
--src: function.cpp CMakeLists.txt
--include: function.h
main.cppに:ルートディレクトリ内
#include <iostream>
#include "function.h"
using namespace std;
int main(int argc, char *argv[])
{
//call module in function.hpp
return 0;
}
CMakeLists.txt:
project(t1)
cmake_minimum_required(VERSION 2.8)
add_subdirectory(src)
file(GLOB_RECURSE SOURCES
include/function.h
src/function.cpp)
add_executable(${PROJECT_NAME} ${SOURCES})
CmakeLists.txtでsrcディレクトリ:
include_directories(${PROJECT_SOURCE_DIR}/include)
機能の別の実装を実現するためにルートとsrcディレクトリにCMakelistsを書くには?さらに、メインでどのように呼び出すか。可能な解答はCMake not finding proper header/include files in include_directoriesです。しかし、それはまだ私の状況に一致しません。ルートに
'$ {SOURCES}'ヘッダーファイルを含むべきではありません。 'include_directories'を使って' include'パスを指定してください。 –
@πάνταῥεῖあなたはターゲットのソースの間にヘッダファイルを置くことができます。 CMakeはそれらをコンパイルしようとはしませんが、他のツール、例えばIDEsは、リスト/ツリーにヘッダーを表示することができます。 – Biffen
Qtツリーにインクルード/ヘッダーを表示する方法は、まさに私が望んでいたものです。しかし、私はあなたが上記の特定の操作を理解できません。おそらく、以下の受け入れられた回答に操作を追加する方法を私に示すことができます。 – Qinchen