首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse C++项目设置

Eclipse C++项目设置
EN

Stack Overflow用户
提问于 2012-01-28 12:41:10
回答 1查看 2.2K关注 0票数 1

我在Ubuntu中创建了一个C++共享库项目,它使用编译器g++ 4.6

一些依赖库期望一些关于编译器和操作系统的预处理器命令能够正确编译,例如

代码语言:javascript
复制
#elif defined(__GNUC__) || defined(__llvm__) || defined(__clang__)

但是, Eclipse没有自动定义它们(至少我使用的版本是这样的),在中是否有一个设置或选项为我这样做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-28 12:51:20

可以在项目属性中设置预处理器定义:

但是,在您的例子中,我不会使用这些,因为它们不应该是特定于项目的(因为它们是编译器特定的)。我觉得你是在找这些。我不确定llvm/clang (有,但我现在不记得了),但是对于GCC,您应该使用宏__GNUC__,它将由编译器本身定义,而不必担心它。前面的下划线告诉您,它们不是标准的一部分,在使用其他编译器(例如MSVC)时也不一定定义。

用于跨平台使用vsprintf_s

代码语言:javascript
复制
// this will be set on Visual Studio only, so this code is added for all other compilers
#ifndef _MSC_VER
#define vsprintf_s(b,l,f,v) vsprintf(b,f,v);
#endif

但是通常,尝试使用所有平台上可用的函数(在本例中,使用vsnprintf()代替)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9045298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档