2016-06-30 5 views
-1

私はいくつかのソリューションをオンラインで検索していますが、Stackoverflowで見つけられませんでした。以下のコードはCMakeList.txtvectorファイルです。 vectorファイルは親ファイルDSAのサブファイルで、main.cppCMakeList.txtもありますが、関連性があるとは思われません。ClionでC++プログラムをビルド: "ターゲットが見つかりません"

cmake_minimum_required(VERSION 3.5) 
project(vector) 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 

set(SOURCE_FILES 
    copy_assignment.h 
    copy_constructor.h 
    main.cpp 
    traverse_funcs.h 
    vector.h 
    vector_bin_search_a.h 
    vector_bin_search_b.h 
    vector_bin_search_c.h 
    vector_bracket.h 
    vector_bubble.h 
    vector_bubblesort.h 
    vector_deduplicate.h 
    vector_disordered.h 
    vector_expand.h 
    vector_fib_search_a.h 
    vector_find.h 
    vector_insert.h 
    vector_merge.h 
    vector_mergesort.h 
    vector_permute.h 
    vector_remove.h 
    vector_removeinternal.h 
    vector_shrink.h 
    vector_traverse.h 
    vector_uniquify.h 
    vector_unsort.h) 

add_executable(vector ${SOURCE_FILES}) 

main.cppに:

#pragma once 

#include <iostream> 

#include "vector.h" 
#include "vector_permute.h" 

using namespace std; 

int main() 
{ 
    Vector<int> foo = {1, 2, 3, 4}; 
    cout << foo.size() << endl; 
    return 0; 
} 

これは、設定ウィンドウです。私はadd_executable(vector ${SOURCE_FILES})をCのmakelistに追加しましたが、それでも動作しません。どうすればいいですか? (sの)

答えて

1

add_subdirectoryコマンドを確認してください。

https://cmake.org/cmake/help/v3.0/command/add_subdirectory.html

ビルドにサブディレクトリを追加します。

add_subdirectory(のsource_dir [binary_dir] [EXCLUDE_FROM_ALL])

ビルドにサブディレクトリを追加します。 source_dirは、ソースCMakeLists.txtとコードファイルが である ディレクトリを指定します。相対パスの場合は、 現在のディレクトリ(一般的な使用法)に関して評価されますが、絶対パスの場合も になる可能性があります。 binary_dirは、 に出力ファイルを置くディレクトリを指定します。相対パスであれば、現在の出力ディレクトリに関しては と評価されますが、絶対パスの場合は となる場合もあります。 binary_dirが指定されていない場合、相対パスを展開する前に、 source_dirの値が使用されます(通常の使用例: )。指定されたソース ディレクトリのCMakeLists.txtファイルは、処理の前にCMakeによってすぐに処理されます。 現在の入力ファイルはこのコマンドを超えて続きます。

CLionは、あなたのDSAプロジェクトを定義しているトップレベルのCMakeLists.txtファイルにこれを追加しないと、ほかのCMakeLists.txtファイルを探すことがわかりません。

+0

ありがとう、それは動作します。 –

0

CMakeLists.txt多分?

+0

これは質問に対する答えを提供しません。著者の説明を批判したり、要求を明確にするには、投稿の下にコメントを残してください。自分の投稿にいつでもコメントをつけることができます。そして、[earn]すると(http://meta.stackexchange.com/questions/146472/what-is-私の評判と特権を高める最良の方法)十分な[評判](http://stackoverflow.com/help/whats-reputation)あなたは[任意の投稿にコメントする](http ://stackoverflow.com/help/privileges/comment)。関連するが異なる質問がある場合は、[新しい質問をする](http://stackoverflow.com/questions/ask)。 –

+0

他の査読者とは対照的に、私はこれが実際に質問に答える試みだと思います。もう少し詳しく説明してください。問題が実際に誤植によって引き起こされた場合、この回答は有効です。 – anderas

+0

こんにちは、私は質問に「s」を追加するのを忘れましたが、それはIDEの中です。その解決策はadd_subdirectory()コマンドです。 –

関連する問題