如何在 CLion 中编译子目录文件?
How do I compile a subdirectory file in CLion?
我有一个名为 CPrimerPlus6thEdition
的项目。我正在尝试编译一个名为 FirstLastNames.c
的独立程序,它有自己的 int main()
函数。这是我的文件夹结构。
/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})
add_executable(target_name file1 file2 file3)
http://www.cmake.org/cmake/help/v3.0/command/add_executable.html
第一个参数不是 directory/path,它是目标的名称(以及编译后的可执行文件的名称)。
尝试将其替换为 CMakeLists.txt
文件的最后两行(我假设 /CPrimerPlus6thEdition
是您的 CLion 项目的根目录):
add_executable(CPrimerPlus6thEdition ${SOURCE_FILES})
add_executable(FirstLastNames ProgrammingExercises/2IntroducingC/FirstLastNames.c)
并且如果您有另一个要编译的可执行文件,并且说它在 /CPrimerPlus6thEdition/ProgrammingExercises/3Potato 中并且有文件 Potato.c 和 Soil.c 需要编译和链接:
add_executable(Potato ProgrammingExercises/3Potato/Potato.c ProgrammingExercises/3Potato/Soil.c)
注意FirstLastNames
和Potato
是目标名称,是构建后编译后的可执行文件的名称。
我有一个名为 CPrimerPlus6thEdition
的项目。我正在尝试编译一个名为 FirstLastNames.c
的独立程序,它有自己的 int main()
函数。这是我的文件夹结构。
/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})
add_executable(target_name file1 file2 file3)
http://www.cmake.org/cmake/help/v3.0/command/add_executable.html
第一个参数不是 directory/path,它是目标的名称(以及编译后的可执行文件的名称)。
尝试将其替换为 CMakeLists.txt
文件的最后两行(我假设 /CPrimerPlus6thEdition
是您的 CLion 项目的根目录):
add_executable(CPrimerPlus6thEdition ${SOURCE_FILES})
add_executable(FirstLastNames ProgrammingExercises/2IntroducingC/FirstLastNames.c)
并且如果您有另一个要编译的可执行文件,并且说它在 /CPrimerPlus6thEdition/ProgrammingExercises/3Potato 中并且有文件 Potato.c 和 Soil.c 需要编译和链接:
add_executable(Potato ProgrammingExercises/3Potato/Potato.c ProgrammingExercises/3Potato/Soil.c)
注意FirstLastNames
和Potato
是目标名称,是构建后编译后的可执行文件的名称。