问题标签 [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.
makefile - CFLAGS 与 CPPFLAGS
我知道 CFLAGS(或 C++ 的 CXXFLAGS)用于编译器,而 CPPFLAGS 用于预处理器。
但我仍然不明白其中的区别。
我需要为#include 包含的头文件指定一个包含路径——因为#include 是一个预处理器指令,预处理器(CPPFLAGS)是我唯一关心的事情吗?
什么情况下需要给编译器额外的包含路径?
一般来说,如果预处理器找到并包含所需的头文件,为什么需要告诉它额外的包含目录?CFLAGS 到底有什么用?
(在我的情况下,我实际上发现这两者都允许我编译我的程序,这增加了混乱......我可以使用 CFLAGS或CPPFLAGS 来实现我的目标(至少在 autoconf 上下文中)。什么给了?)
cmake - 使用 CMake 设置 CFLAGS 和 CXXFLAGS 选项
我只想调试一些在 Linux 上运行的代码,我需要一个调试版本(-O0 -ggdb
)。所以我将这些东西添加到我的CMakeLists.txt
:
当我尝试编译时,我打开了详细使用make VERBOSE=1
并且我观察了输出,就像这样
显然代码是用编译的"-g -O2"
,这不是我想要的。我怎样才能强制它只使用"-O0 -ggdb"
?
makefile - 编译 OpenSSL 时 .rodata 和 -fPIC 是什么意思?
我正在尝试编译 openssl 但遇到错误。正在使用的 CFLAGS 是:
有人可以向我解释一下.rodata
下面这句话是什么意思吗?
我不确定 libcrypto.a 是什么,但显然它是 openssl 的一部分。
这怎么可能解决?
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.
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?
linux - Bundler 使用 cflags / distcc 安装 Rails 4 应用程序
我正在 Raspberry Pi 上设置 Rails 4 应用程序。为了在我运行 bundle install 时加快 gems 的安装,我在我的 Linux 桌面上设置了一个 distcc 服务器(使用 ARM 交叉编译器)。
我找不到的是一种通过 CFLAGS 或其他方式传递命令以在我运行“捆绑安装”时使用 distcc 的方法。Bundler 无法识别 --with-cflags 开关。
在寻找解决方案时,我在这里找到了如何逐个宝石地执行此操作,但我更喜欢一个可以通过一个命令完成的设置。
关于如何实现这一目标的任何建议?
谢谢
c - 跳过不兼容的错误
我下载了 nettle 3.0 密码库并在 ubuntu 上编译了它。我运行了一个示例,它在 ubuntu 上运行良好。我将编译后的静态库文件 (libnettle.a) 添加到我在 contiki 中的项目 makefile 中,只需添加:
当我尝试编译节点代码时,我得到了这个
我应该添加 -m32 标志还是什么?
如果是,什么标志?旗标?
顺便说一下,荨麻库是 32 位的,我已经检查过了。
谢谢
行。所以我使用以下命令重建库:
将 LDFLAG 更改为
但我仍然有同样的错误。
c - 将第三方库添加到 Contiki os
我想向 Contiki OS 添加第三方库。没错,我正在尝试添加 nettle 3.0 密码库。
我是否想使用 contiki 平台的特殊标志来构建相关库,不确定到底是什么?海合会 msp430
如果是,我该怎么做?这样做的程序是什么?
如果我可以直接在linux上构建它,那么如何链接它?
我已经尝试过 LDFLAGS,但我不断收到无法打开链接器脚本文件 memory.x 错误。
谢谢。
cmake - CMake SET 命令未按预期工作(CMake 未设置预定义缓存变量的值)
我在我的构建中使用 CMake。我正在尝试像这样设置编译器标志:
但是,我的构建失败,因为未设置编译器标志之一。
当我检查 CMake-GUI 中变量的值为空时:
有人可以指出发生了什么吗?
gcc - 我需要将 CFLAGS 显式传递给 gcc 吗?
我阅读了很多关于的教程CFLAGS
,还查看了官方文档。他们说的所有地方CFLAGS
都是隐式的,但仍然在他们的示例 makefile 中将其显式传递给编译器:
那么,在这种情况下,“隐式”一词是什么意思?如果我CFLAGS=-O2
在我的 makefile 中声明然后只是说gcc -c foo.c -o foo.o
, 是否-O2
会处于活动状态(那么,它真的是隐含的吗)?如果是这样,为什么所有教程(包括官方文档)仍然在他们的示例中明确传递它?