首页 > 解决方案 > 使用 cmake 添加标志

问题描述

我用 cmake 创建了一个静态库。我有一个 library.h、library.cpp 和 main.cpp。我在 library.h 中声明并在 library.cpp 中实现的所有函数。我使用默认制作文件(全部制作)制作项目。现在我声明了一些宏(例如#ifndef MEM ... #else ...)。如果使用宏,则应添加标志:-DMEM -DPREP=20 -DM=1200。我在 make 文件中添加了以下内容:

swtest: CPPFLAGS += -DM=1200 -DMEM -DPREP=20 -g

然后我使用以下方法制作项目:

make swtest

然后编译 main.cpp:

g++ main.cpp -o main lib.a -DMEM -DPREP=20 -DM=1200 -g

但它不起作用。我想我应该在我的 cmakelists 文件中添加一些代码,但我不知道怎么做!我强调我的宏添加到 library.cpp 而不是 main.cpp。请注意,我正在使用 clion。

标签: c++makefilecmakepreprocessor

解决方案


您需要确保在编译 library.cpp 时指定定义。


推荐阅读