【发布时间】:2010-11-09 13:24:27
【问题描述】:
我正在编写一个跨平台的程序。在某些地方,我必须指定依赖于操作系统的调用。
#ifdef WINDOWS
..do windows only stuff
#endif
#ifdef LINUX
..do linux only stuff
#endif
是否有任何由编译器定义的预处理器指令,因此我在使用命令行编译器时不必显式定义它们。即。
cl -DWINDOWS 程序.cpp
或
g++ -DLINUX 程序.cpp
我意识到我可以很容易地编写一个 makefile 或一个 shell/batch 脚本来自动执行此操作。但我宁愿默认使用与编译器相同的编译器(如果存在)。
【问题讨论】:
-
你是只在目标上构建目标,还是交叉编译?
标签: visual-c++ g++