c++ - 使用 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。
解决方案
您需要确保在编译 library.cpp 时指定定义。
推荐阅读
- parsing - 超过一个字节后的lua解析
- python - 我需要在 Python 的帮助下生成并保存 JPG 格式的 html/css 代码输出
- javascript - 获取数据表的主体作为 HTML 元素
- angular - 如何在 ES6 中重新分配嵌套(只读)对象的值?
- java - onClick 方法的问题
- google-apps-script - Gmail 插件卡未在移动设备的撰写模式下显示
- git - 签出/合并远程 Git 分支
- java - 如何为静态并返回 void 的方法进行 JUnit
- c - 链接多个静态库
- gitlab-ci - Gitlab CI - 自定义变量作为下游触发器中的分支