compiler-flags相关内容
我在我的CMakeLists.txt中有以下内容: 项目(Matfile) SET(CMAKE_CXX_FLAGS“-std = c ++ 0x”) set(SOURCES “foo.cpp” “bar.cpp” ) add_library( Matfile $ {SOURCES} ) $ b b 你可以想象,我想做的是使用标志-std = c ++
..
我试图在Windows下用clang-cl编译一个C ++ 11程序。 Clang-cl是clang的包装器,与cl(Visual Studio编译器)更兼容。我试图添加 -std = c + + 11 和 / std = c ++ 11 这是没有意外,因为cl没有C ++ 11标志。 但是我不能使用clang-cl的C ++ 11功能。 如何在clang-cl中启用C ++ 11支持?
..
无论我尝试什么,例如添加编译器标志 -fno-exceptions -fno-rtti ,我总是在我的共享对象中获取这些异常处理函数: / p> 图片 无论是以C或C ++编译,都会发生这种情况。 编译为C): #include #include #include #include
..
无论我尝试什么,例如添加编译器标志 -fno-exceptions -fno-rtti ,我总是在我的共享对象中获取这些异常处理函数: / p> 图片 无论是以C或C ++编译,都会发生这种情况。 编译为C): #include #include #include #include
..
在我的CMake项目的开始,我在变量CMAKE_CXX_FLAGS中设置一般编译标志,如 set CMAKE_CXX_FLAGS“-W -Wall $ {CMAKE_CXX_FLAGS}”) 特定的编译标志(存储在BUILD_FLAGS中)。我可以为此使用以下命令: set_target_properties($ {TARGET} PROPERTIES COMPI
..
我刚刚从linux上的g ++编译器开始,并得到了关于编译器标志的一些问题。这是他们 优化 我阅读了关于优化标志-O1, O2和-O3在g ++手册页。我不明白什么时候使用这些标志。通常什么优化级别你使用? g ++手册说明了-O2的以下内容。 进一步优化。 GCC执行几乎所有支持的优化,不涉及空间速度权衡。当指定-O2时,编译器不执行循环展开或函数内联。与-O相比,此选项增加了
..
我的构建需要我发出以下命令: $ g ++ sniff.cpp -o sniff -lcrafter $ b $但是,在我的Eclipse构建中,所有编译器获得的是: $ b b g ++ -o“sniffer_crafter”./src/sniffer_crafter.o 获取这些命令后,我抱怨我对库Crafter有一个未定义的引用。
..
我需要一些关于c ++编译器标志的帮助。我使用的库是一个端口到Linux的linux,必须使用-malign-double标志,“为Win32兼容性”编译。这是我的理解,这意味着我绝对必须编译自己的代码与这个标志吗?如何其他.so共享库,他们已经重新编译与此标志吗?如果是这样,有什么办法吗? 我是一个linux新手(和c ++),所以即使我试图重新编译我使用的所有库对于我的项目,只是太复杂,
..
我目前正在学习OpenCL。现在,当我想编译我的程序,我得到一个错误与此命令: g ++ -Wall -l OpenCL main。 CPP -o主要 的错误大多是未定义的引用,因为库不挂,我觉得( 但是使用这个命令一切正常: g ++ -Wall main.cpp -o main -l OpenCL 所以我的问题是,我要做什么,在命
..
我想知道什么开关你传递给gcc编译器关闭未使用的变量警告?我在Windows上提升错误,我不想触摸提升代码: C:\boost_1_52_0 /boost/system/error_code.hpp:在全球范围内: C:\boost_1_52_0 /升压/系统/ error_code.hpp:214:36:错误:'的boost ::系统:: posix_category“定义但未使用[-
..
我听说过各种来源(虽然主要是来自我的同事),用 -O3 在 g ++ 在某种程度上是“危险的”,除非证明是必要的,否则应该避免。 这是真的吗?我应该只是坚持 -O2 ? 解决方案 天的gcc(2.8等)和在egcs的时代,和redhat 2.96 -O3有时是相当bug。但这是十多年前,-O3与其他级别的优化(在buggyness)没有太大的不同。 但它倾向于揭示人们依赖的情况
..
刚刚得到安装在Visual Studio 11开发者预览版。我看到称为项目属性的新选项编译管理(C#,VB)指定的值为anycpu目标应用程序时,“首选32位”。这似乎不是对类库,只是顶层应用的选项。 这是什么标志说明什么? 解决方案 这可能表示应用值为anycpu但是当32位可用它shouold这样运行。这是有道理的 - 64位应用程序使用更多的内存,而有时你只是不需要内存空间;)
..
从文档的描述,他们似乎做同样的事情,只是“不是所有的系统”支持共享,“只有一些系统”支持符号(现在还不清楚,如果这些是同一套系统): -shared 产生,然后可以与其它对象链接的共享对象 形成一个可执行文件。并非所有的系统 支持此选项。对于predictable 结果,你还必须指定 同一组的选项被用来 产生code(-fpic,-fPIC或模型 子选项)当您指定此 选项
..
我会想你的输入gcc编译器标志,以优化的至强处理器时要使用的? 有在mtune中或三月没有“至强”,所以这是最匹配? 解决方案 至强是一个营销术语,因此它涵盖了处理器,具有非常不同的内部一个长长的清单。 如果你的意思是新的Nehalem处理器(酷睿i7),然后这张幻灯片表示,由于GCC 4.3.1应=通用(虽然你自己的自己的应用程序的测试可能会发现其他设置thatoutperform这
..
我试图打造X code进行的项目,但我得到的错误函数隐式声明“清除”是C99无效和冲突类型“清除”。 这里的code: //的main.c #包括LT&;&stdio.h中GT; #包括“tree.h中”诠释主(){ 明确(); //函数“清除”隐式声明是无效的C99 返回0; }//tree.c #包括LT&;&stdio.h中GT; #包括“tree.h中” 无效清除(){///
..
什么是“DNS_BLOCK_ASSERTIONS”(C编译器标志)? 解决方案 该NS_BLOCK_ASSERTIONS宏(没有“D”)SUP presses由NSAssert执行的检查。您可以使用 -DNS_BLOCK_ASSERTIONS (见注释为“D”的解释),它提供给编译器。
..
除了设置 -Wall ,并设定 -std = XXX ,其他什么真正有用的,但很少有人知道的编译器标志出现在C用? 我在任何额外的警告特别感兴趣,和/或并把警告变为错误在某些情况下绝对减少任何意外的类型不匹配。 解决方案 若干的 -f code生成选项很有意思: 的 -ftrapv 函数会导致程序中止签署整数溢出(正式以“不确定的行为”,在C)。 -fverbose-ASM
..
我的项目包含XMPPFramework其中包含有与ARC使用的文件。但我的项目是不ARC,不能因转化为链接到它的某些其他库。 我如何强制编译器只对某一类使用ARC? 解决方案 这是
..
我最近我的移植的Qt 项目从的qmake 到 CMake的。 我的主要程序包含取决于的#define 指令的值。 我要指定通过 CMake的外部定义指令,并建立不同的3相同名字的可执行文件的版本。 我应该怎么办呢? 我见过 set_target_properties 但这只是作品库,而不是可执行文件。 例如我想,下面的程序, INT的main() { COUT<<
..
直到X code 5,发布版本可以从包括 NSAssert 语句及其变种,使用默认的构建设置pvented $ P $: OTHER_CFLAGS =“-DNS_BLOCK_ASSERTIONS = 1”; 这个设置可以在 project.pbxproj 发现放在X code在这里设置: 的(注意,这是抢在X code 4项目转换为X code 5拍摄。)的 每个目标将继承在仅发布版
..