Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在CLion中编译子目录文件?_C++_C_Cmake_Clion - Fatal编程技术网

C++ 如何在CLion中编译子目录文件?

C++ 如何在CLion中编译子目录文件?,c++,c,cmake,clion,C++,C,Cmake,Clion,我有一个名为CPrimerPlus6thEdition的项目。我试图编译一个名为FirstLastNames.c的独立程序,它有自己的intmain()函数。这是我的文件夹结构 /CPrimerPlus6thEdition |-- /ProgrammingExercises |-- /2IntroducingC |--FirstLastNames.c CMakeLists.txt main.cpp 这是我的CMakeLists.txt文件 cmake_minim

我有一个名为
CPrimerPlus6thEdition
的项目。我试图编译一个名为
FirstLastNames.c
的独立程序,它有自己的
intmain()
函数。这是我的文件夹结构

/CPrimerPlus6thEdition  
|-- /ProgrammingExercises  
    |-- /2IntroducingC
        |--FirstLastNames.c
CMakeLists.txt
main.cpp
这是我的
CMakeLists.txt
文件

cmake_minimum_required(VERSION 3.2)
project(CPrimerPlus6thEdition)

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

set(SOURCE_FILES main.cpp)
add_executable(CPrimerPlus6thEdition ${SOURCE_FILES})
add_executable(CPrimerPlus6thEdition/ProgrammingExercises/2IntroducingC ${SOURCE_FILES})

第一个参数不是目录/路径,而是目标的名称(以及编译的可执行文件的名称)

尝试将此替换为
CMakeLists.txt
文件的最后两行(我假设
/CPrimerPlus6thEdition
是CLion项目的根):

如果您有另一个可执行文件要编译,并且说它在/CPrimerPlus6thEdition/ProgrammingExercises/3Potato中,并且有需要编译和链接的Potato.c和Soil.c文件:

add_executable(Potato ProgrammingExercises/3Potato/Potato.c ProgrammingExercises/3Potato/Soil.c)
请注意,
FirstLastNames
Potato
是目标名称,是生成后编译的可执行文件的名称

add_executable(CPrimerPlus6thEdition ${SOURCE_FILES})
add_executable(FirstLastNames ProgrammingExercises/2IntroducingC/FirstLastNames.c)
add_executable(Potato ProgrammingExercises/3Potato/Potato.c ProgrammingExercises/3Potato/Soil.c)