0

私はこのディレクトリ構造を持っています:

projects/
    project1/
        src/
            main.cpp
            CMakeLists.txt
    project2/
        src/
            file1.h
            file1.cpp
            test1.cpp

トップレベルのプロジェクトディレクトリはトップレベルのプロジェクトと見なすことはできませんが、無関係なプロジェクトのコレクションと見なすことができるため、CMakeLists.txtそのレベルにファイルを配置することはしません。

フルパスを指定せずにproject1にproject2のファイルを含めたい。例:

// main.cpp
#include "file1.h"

また、project2の実装ファイルをproject1にビルドする必要があります。

project2はライブラリではなく、project1の一部であるかのようにファイルを使用する必要があります。

私はを使用していますcmake、そしてこれはCMakeLists.txt私が書いたファイルです(それは機能しません):

cmake_minimum_required(VERSION 2.8)
project(project1)
add_subdirectory(src)
add_subdirectory(../../project2/src)

project2へのフルパスを指定しても機能しません。${CMAKE_CURRENT_SOURCE_DIR)/../../project2/src

から「致命的なエラー:file1.h:そのようなファイルまたはディレクトリはありません」が表示されmakeます。

4

1 に答える 1

1

外部インクルードファイルを使用するには、これは機能します。

include_directories
于 2013-02-22T18:18:16.360 に答える