问题标签 [cflags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
127051 浏览

makefile - CFLAGS 与 CPPFLAGS

我知道 CFLAGS(或 C++ 的 CXXFLAGS)用于编译器,而 CPPFLAGS 用于预处理器。

但我仍然不明白其中的区别。

我需要为#include 包含的头文件指定一个包含路径——因为#include 是一个预处理器指令,预处理器(CPPFLAGS)是我唯一关心的事情吗?

什么情况下需要给编译器额外的包含路径?

一般来说,如果预处理器找到并包含所需的头文件,为什么需要告诉它额外的包含目录?CFLAGS 到底有什么用?

(在我的情况下,我实际上发现这两者都允许我编译我的程序,这增加了混乱......我可以使用 CFLAGSCPPFLAGS 来实现我的目标(至少在 autoconf 上下文中)。什么给了?)

0 投票
4 回答
219362 浏览

cmake - 使用 CMake 设置 CFLAGS 和 CXXFLAGS 选项

我只想调试一些在 Linux 上运行的代码,我需要一个调试版本(-O0 -ggdb)。所以我将这些东西添加到我的CMakeLists.txt

当我尝试编译时,我打开了详细使用make VERBOSE=1 并且我观察了输出,就像这样

显然代码是用编译的"-g -O2",这不是我想要的。我怎样才能强制它只使用"-O0 -ggdb"

0 投票
2 回答
6995 浏览

makefile - 编译 OpenSSL 时 .rodata 和 -fPIC 是什么意思?

我正在尝试编译 openssl 但遇到错误。正在使用的 CFLAGS 是:

有人可以向我解释一下.rodata下面这句话是什么意思吗?

我不确定 libcrypto.a 是什么,但显然它是 openssl 的一部分。

这怎么可能解决?

0 投票
1 回答
1560 浏览

bash - Pass variable to make CFLAGS in shell script?

I'm trying to build some c programs with gnu make (4.1) through a shell script. I want to use different CFLAGS parameters, which I read from a file. The file contains lines like:

I am trying to do something like

but all my attempts end up in the following error:

So I tried to change the file's contents to only the parameters after -O1 (-freorder-functions), and add the -O1 in the shell script:

(and a lot of other things that seem less sensible) but I still get the same error message.

Hard-coding the parameter to make in the shell script works fine:

Sorry if this is a stupid question, but I can't seem to find any examples of how something like this is done, and I'm new to shell scripting, so I don't really understand how it's treating the variables here. An echo of what I'm attempting to pass to CFLAGS looks okay to me.

0 投票
1 回答
2289 浏览

gcc - How to add '-march=' as default option to gcc?

I can not compile a simple c program without specifying '-march=native', I need to run it as: 'gcc -march=native -o hello hello.c'.

I did:

but didn't help.

Output of gcc -v:

Where and how can I add this option to be default?

0 投票
0 回答
467 浏览

linux - Bundler 使用 cflags / distcc 安装 Rails 4 应用程序

我正在 Raspberry Pi 上设置 Rails 4 应用程序。为了在我运行 bundle install 时加快 gems 的安装,我在我的 Linux 桌面上设置了一个 distcc 服务器(使用 ARM 交叉编译器)。

我找不到的是一种通过 CFLAGS 或其他方式传递命令以在我运行“捆绑安装”时使用 distcc 的方法。Bundler 无法识别 --with-cflags 开关。

在寻找解决方案时,我在这里找到了如何逐个宝石地执行此操作,我更喜欢一个可以通过一个命令完成的设置。

关于如何实现这一目标的任何建议?

谢谢

0 投票
1 回答
2433 浏览

c - 跳过不兼容的错误

我下载了 nettle 3.0 密码库并在 ubuntu 上编译了它。我运行了一个示例,它在 ubuntu 上运行良好。我将编译后的静态库文件 (libnettle.a) 添加到我在 contiki 中的项目 makefile 中,只需添加:

当我尝试编译节点代码时,我得到了这个

我应该添加 -m32 标志还是什么?

如果是,什么标志?旗标?

顺便说一下,荨麻库是 32 位的,我已经检查过了。

谢谢

行。所以我使用以下命令重建库:

将 LDFLAG 更改为

但我仍然有同样的错误。

0 投票
1 回答
466 浏览

c - 将第三方库添加到 Contiki os

我想向 Contiki OS 添加第三方库。没错,我正在尝试添加 nettle 3.0 密码库。

我是否想使用 contiki 平台的特殊标志来构建相关库,不确定到底是什么?海合会 msp430

如果是,我该怎么做?这样做的程序是什么?

如果我可以直接在linux上构建它,那么如何链接它?

我已经尝试过 LDFLAGS,但我不断收到无法打开链接器脚本文件 memory.x 错误。

谢谢。

0 投票
1 回答
2750 浏览

cmake - CMake SET 命令未按预期工作(CMake 未设置预定义缓存变量的值)

我在我的构建中使用 CMake。我正在尝试像这样设置编译器标志:

但是,我的构建失败,因为未设置编译器标志之一。

当我检查 CMake-GUI 中变量的值为空时:

在此处输入图像描述

有人可以指出发生了什么吗?

0 投票
4 回答
11700 浏览

gcc - 我需要将 CFLAGS 显式传递给 gcc 吗?

我阅读了很多关于的教程CFLAGS,还查看了官方文档。他们说的所有地方CFLAGS都是隐式的,但仍然在他们的示例 makefile 中将其显式传递给编译器:

那么,在这种情况下,“隐式”一词是什么意思?如果我CFLAGS=-O2在我的 makefile 中声明然后只是说gcc -c foo.c -o foo.o, 是否-O2会处于活动状态(那么,它真的是隐含的吗)?如果是这样,为什么所有教程(包括官方文档)仍然在他们的示例中明确传递它?