CLion一个工程生成多个可执行文件

时间:2022-12-18 12:47:48

最近在用CLion在本地环境联系使用libmemcached的API,在主工程中新建了一个文件,该文件的主要功能就是生成辅助数据集。为了方便,想让它在同一个工程中编译生成单独的可执行文件。

CLion使用的自动化编译工具是CMake。为了生成多个可执行文件,就是修改CMakelists.txt文件,很简单,直接上图吧。

步骤

  • 工程内新建一个cpp文件。
  • 打开CMakelists.txt文件并修改文件。
  • 修改build的配置,该配置指定每次build是编译生成所有可执行文件,还是只生成一个。

新建文件前,CMakelists.txt文件如下:
CLion一个工程生成多个可执行文件

打开菜单Run->Edit configurations
CLion一个工程生成多个可执行文件
当前我的工程可以生成两个可执行文件。

新建a.cpp文件,编写Hello World程序
CLion一个工程生成多个可执行文件
IDE会将新增的文件链接到某一个可执行文件中,上图中表示a.cpp文件会和make_data.cpp一起编译生成op_make_data可执行文件。当然这里会报错,因为有两个main函数。

将a.cpp单独写一行,生成aaaa可执行文件
CLion一个工程生成多个可执行文件

再次打开菜单Run->Edit configurations
CLion一个工程生成多个可执行文件
这里多出一个aaaa的选项。

很重要的一点,我被这里浪费了很多时间
CLion一个工程生成多个可执行文件
被红色框起来的下拉框用来指定编译生成哪个可执行文件。当前我的工程可以生成三个可执行文件(aaaa, op_make_data, op_memcached),假设选中aaaa,则点击编译按钮时,只会编译生成aaaa文件。选在Build All,则说明生成所有可执行文件。