场景,自己制作的一个动态库,其中部分功能根据平台信息进行条件编译,用宏来控制。
该库的CMakeLists.txt中,已经将这个宏打开。
但是在外部程序使用该动态库时,在包含了该库的头文件之后还会报编译错误(找不到对应的头文件中声明的类型)
实际上问题出在,外部程序使用动态库的方法是: include头文件 + add library
但问题就出在include头文件上,它include的头文件里面的宏还是关闭的。
解决方法:在外部程序的CMakeLists.txt中加上 add_definition(XXX)