在Clion中构建一个C ++程序:“找不到目标”

时间:2016-06-30 09:15:07

标签: c++ ide clion

我在网上和Stackoverflow上搜索了一些解决方案,但找不到适合我的解决方案。以下代码是CMakeList.txt vector文件。 vector文件是父文件DSA的子文件,其中还有main.cppCMakeList.txt,但我认为它们不相关。

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中,但它仍然不起作用,我该怎么办?

2 个答案:

答案 0 :(得分: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文件。

答案 1 :(得分:0)

CMakeLists.txt(带s)可能吗?