我在网上和Stackoverflow上搜索了一些解决方案,但找不到适合我的解决方案。以下代码是CMakeList.txt
vector
文件。 vector
文件是父文件DSA
的子文件,其中还有main.cpp
和CMakeList.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中,但它仍然不起作用,我该怎么办?
答案 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)可能吗?