我用cmake创建了一个静态库。我有一个library.h、library.cpp和main.cpp。我在library.h中声明并在library.cpp中实现的所有函数。我使用默认的make文件(make-all(创建项目。现在我声明一些宏(例如#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。
编译library.cpp.时,需要确保指定定义