我正在使用NCurses在Arch Linux平台上开发软件。它在全局标头中有#include <ncurses.h>
。
我的协作者在Windows中工作并使用Cygwin模拟bash shell。但是,cygwin会安装ncurses库,因此您必须使用#include <ncurses/ncurses.h>
。改变是微不足道的,但是如果我们中的一个人忘记了看起来很愚蠢的话,我们的Git历史可以包含多次来回变换。
我是否可以使用某种预处理器检查来使用适当的路径?
答案 0 :(得分:0)
正如@BoBTFish所说,你应该在Makefile中指定include路径(每个平台都不同)。如果没有,您可以使用宏__CYGWIN__
(或__CYGWIN32__
,不确定哪个会起作用)来检测您是否正在使用cygwin
,例如
#ifdef __CYGWIN__
#include <ncurses/ncurses.h>
#else
#include <ncurses.h>
#endif
有关详细信息,请参阅http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/predefined-macros-platform.html。