问题标签 [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 投票
1 回答
530 浏览

build - 如何在使用 ESP32 和 FreeRTOS 时禁用 -werror

我正在尝试使用 ESP32 与 Amazon FreeRTOS 连接,但在构建它时遇到了问题。我正在按照亚马逊网站上的教程(适用于 Windows)做所有事情。错误是

cc1.exe:一些警告被视为错误。

我发现解决方案可能是禁用-werror。为此,我尝试将这一行粘贴 string(REPLACE " -Werror" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") 到 AmazonFreeRTOS 主文件夹中的 CmakeLists.txt 文件中。没有帮助:/。

我的 CmakeLists.txt 文件如下所示:

所以请有人告诉我如何禁用 -werror 或其他解决问题的方法。

0 投票
1 回答
287 浏览

gcc - 从 GCC 转换为 CMake

CMake 相当于什么:

我对此很感兴趣$(pkg-config --libs --cflags mylib),因为我已经有可以编译的代码,我只需要添加mylib库。

0 投票
1 回答
3844 浏览

c++ - 如何在不更改 CMakeLists.txt 的情况下将 CFLAGS 和 CXXFLAGS 传递给 cmake(也许通过 CLI?)

我无法更改我正在处理的项目的 CMakeLists.txt,并且其中使用的 cmake 工具链文件仅声明 C 和 CXX FLAGS 用于发布。

因此,为了调试,我需要强制使用我自己的标志(即将 -O0 -DDEBUG 附加到 CFLAGS 和 CXXFLAGS)。

所以我尝试使用以下示例通过cli

主.cpp:

CMakeLists.txt:

调用 cmake:

预期结果使 2 个变量为空

我想知道。

我尝试使用 cmake “--trace” 来查看正在执行的操作,但我找不到 cmake 将从同名 env 变量初始化其变量的相关部分。

我可以使用另一个变量吗?也许另一种方式?

0 投票
1 回答
376 浏览

linux - 在命令行将 CFLAGS 传递给 Makefile

我正在尝试监视 Makefile 项目的覆盖率。

但是上面的命令似乎不起作用,产生以下内容:

从第一行可以看出,调用gcc时CFLAGS并没有很好的添加。如何在启动“make”时将 cflags 包含在 gcc 的构建选项中?

我在 Ubuntu 14 上使用 Bash,如果这很重要的话。

0 投票
1 回答
1170 浏览

c - gcc 警告“coverage_mismatch”是什么意思?

今天我Werror=Wcoverage_mismatch在编译一些erlang/opt时遇到一个错误:

但我不知道这是什么意思,谷歌没有告诉我这个标志。下面是gcc源代码

0 投票
1 回答
90 浏览

makefile - 在 Makefile 中,是否总是附加变量 $(CFLAG) ?

考虑以下简单的makefile

在这种情况下,必须在末尾包含变量 $(CFLAGS) 才能包含 .h 文件(在本例中为 hellomake.h)。但是,在下面的makefile中,没有必要,变量会自动追加

我的问题是,在哪些情况下会附加 CFLAGS?为什么在第一个代码片段上不是这样?谢谢你!

0 投票
1 回答
584 浏览

c - 仅在选择特定目标时才能在makefile中编译某些文件并在makefile中添加标志?

我目前在为 C 项目编写 Makefile 时遇到问题。

特别是,我的项目应该至少有两个 Makefile 目标(target_lighttarget_full),这target_light是默认的。

target_light应该编译我所有的源文件,除了少数需要在系统上安装外部库的文件(保存在src/extra, 用于 .c 文件和include/extra, 用于 .h 文件)。 target_full应该编译所有文件,包括需要外部库的文件。它还应该在CFLAGS和中添加一些标志LDLIBS

我目前有一个类似于以下的 Makefile:

我目前正在努力寻找一种添加target_full到这个 Makefile 的方法,它也应该考虑到SRC_DIR_EXTERNAL_FILES OBJ_DIR_EXTERNAL_FILES SRC_EXTERNAL_FILES OBJ_EXTERNAL_FILES,以便仅在请求时编译附加文件。

我该如何执行此操作?在 Makefile 中是否有这样做的好方法?

我的第二个问题是:如何同时向两者添加标志,CFLAGS并且LDLIBS仅在target_full选择时才添加?我试着写:

然后将$(EXECNAME)行更改为:

LDLIBS似乎总是考虑附加标志,即使target_light选择时也是如此。

我应该做类似以下几行的事情,重复两次target_full吗?

非常感谢您提前。

0 投票
1 回答
220 浏览

makefile - 从 FreeBSD makefile 中的 CFLAGS 中删除一个标志

在 GNU makefile 中,可以使用 filter-out 从 CFLAG 中删除标志,如下所示:

但是,我不能让它与 FreeBSD makefile 一起工作。

FreeBSD 是否支持过滤?否则,我该怎么做才能从 makefile 中的 CFLAGS 中删除特定标志?

0 投票
1 回答
364 浏览

cmake - CMake CXXFlags -O2 / -O3

我根本不熟悉 CMake,但我的任务是清理使用的 CXXFlags(-O2 和 -O3)。

日志打印出:“使用 CXXFLAGS = '-g -O2 -fdebug-prefix-map=/build/cgal-ZyilPF/cgal-4.11=.-fstack-protector-strong -Wformat -Werror=format-security -Wdate-时间 -D_FORTIFY_SOURCE=2 -frounding-math -O3 -DNDEBUG'"

我发现 -O2 和 -O3 用于优化,但我想知道如何同时使用两者?

0 投票
0 回答
27 浏览

c++ - 使用 C++ 错误构建 Opencv:未定义对 `cv::Mat::deallocate()' 的引用

我已经使用以下命令从OpenCV官方代码版本 4.2.0成功配置了我的 OpenCV:

配置后的输出如下:

配置后,我尝试使用以下命令在具有Ubuntu 20.04.1的设备上运行代码:

并得到这个错误:

如何解决这个问题?