问题标签 [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 回答
201 浏览

c++ - 错误:“CFLAGS”没有命名类型

这是我的生成文件:

当我运行一个脚本时,例如,这个(ex3.c):

我收到以下错误:

0 投票
1 回答
395 浏览

mysql - 在 Autoconf M4 脚本中确定目标架构

我目前正在使用一个需要构建 i686 和 x86_64 库,在同一系统上构建和安装它们的系统 - 这是一个遗留项目,它混合了通常以 64 位运行的较新的 ABI 不可知代码,因为它可以使用额外的内存,以及一些在为 64 构建时会中断的旧代码。

对于 99% 的链接库,这可以正常工作;在 autoconf、rpm-build 和 pkg_config 之间,它可以毫无问题地找到正确的库。不幸的是,有一个主要的例外——MySQL。他们没有提供 pkg_config 脚本,而是拥有自己的自定义 mysql_config 脚本,并且它不尊重目标 ABI - 它只报告最后安装的值。

因此,虽然我们得到了移植到 64 位上正常运行的最后一个代码,但我试图通过编辑 Autoconf MySQL 配置脚本(官方 GNU 脚本,ax_lib_mysql.m4)来后处理报告的 CFLAGS 和LDFLAGS 取决于目标平台。这就是问题的症结所在——Autoconf M4 中是否有一种很好的方法来检测您是在为 32 位还是 64 位目标构建?确切的 ABI 无关紧要——主要是知道我是否需要链接到 /usr/lib 或 /usr/lib64。

很抱歉为一个句子的问题写小说,但我在网上找到了很多地方,人们问如何做到这一点,但从未得到答案,因为每个人都忙着告诉他们他们不应该这样做,因为它会使构建过程更加脆弱,所以我试图设置一点。我知道这是一个可怕的 hack(非常欢迎使用替代方法!),但我需要一些方法来解决这个问题,以在过渡期间保持系统构建。

0 投票
1 回答
4135 浏览

ldflags - CFLAGS 和 LDFLAGS 与 CPATH 和 LIBRARY_PATH

在这个线程中

https://unix.stackexchange.com/questions/149359/what-is-the-correct-syntax-to-add-cflags-and-ldflags-to-configure

有人说 CFLAGS 和 LDFLAGS 不适用于每个配置脚本。为什么?我想对此有更多解释,而不仅仅是声明;)在什么情况下有效,在什么情况下无效?原因是什么?

他(接受的答案)还提到您应该改用 CPATH 和 LIBRARY_PATH 。CFLAGS 和 CPATH 有什么区别?同样,LDFLAGS 和 LIBRARY_PATH 有什么区别?

最后一个问题:当我使用 LDFLAGS = 不管时,我不会覆盖以前可能由开发人员自己制定的 LDFLAGS 定义吗?语法不应该类似于 ./configure LDFLAGS+=/myPath 吗?

0 投票
1 回答
24 浏览

c++ - 对稍有改动的程序重用稍有改动的 Makefile 会出错

我为一个名为程序 B 的新程序制作了一个适用于程序 A 的 makefile 的副本。为了简单起见,程序 B 与程序 A 具有所有相同的包含指令。对新 makefile 所做的唯一更改是对目标文件列表和创建的可执行文件的名称。我还可以确定编译错误不是由 main() 中的任何内容或程序 B 的任何函数引起的。但不知何故,当我使用 make 命令时出现错误:

在我的 makeflie 中,我有以下相关行:

感谢您的帮助,因此在此先感谢您。我对makeflies了解不多,所以我只是想有效地重用代码。

编辑

程序 A 和程序 B 都具有相同的包含指令

程序 B 本质上可以认为是 this 加上一个空的 int main(){ return0;},而程序 A 确实包含很多代码并且已经工作了很长一段时间。

0 投票
1 回答
109 浏览

c - 如何在“make install”之后更改 VAR 名称而不会出现未声明的错误?

我的configure.in文件有:

Makefile.am有:

C文件是:

当我执行“make install”时出现错误

因此 VAR 的名称变为 yo,但未声明。我的目标是打印哟,但是如何解决这种情况呢?

0 投票
1 回答
277 浏览

node-gyp - 每个源的 cflags

gyp 有没有办法只为某些源文件启用某些 cflags?

此错误的上下文中,我想找到一种方法来编译一些启用了某些 SSE 功能的代码,而其他代码(在运行时检测所述功能的可用性并提供回退)不应该使用这些功能在优化过程中。

通常,我发现 node-gyp 文档完全不够。

0 投票
2 回答
1229 浏览

autotools - 在 configure.ac 中更改 *FLAGS 与使用子项目进行缓存

假设我希望CFLAGS在我的configure脚本中添加一个特定的标志,它应该传播到所有子项目的configure脚本:

这在configure被简单调用时有效。一旦发生以下情况之一:

  1. CFLAGSconfigure调用时在环境中导出
  2. CFLAGSconfigure命令行上设置
  3. 使用缓存 ( configure -C)

这种方法不再有效。在前两种情况下,导出CFLAGS的内容被简单地忽略;在最后一个中,configure失败了

配置:错误:在上一次运行中未设置“CFLAGS”


我已经设法通过以下方式可靠地工作:

考虑到有多个子项目,并且*FLAGS可能需要像这样设置多个变量,这还不错,但仍然不是最优的。有没有办法通过只破解顶层来完成这项工作configure.ac

0 投票
1 回答
3341 浏览

cmake - 获取通过命令 add_definitions() 和 add_compile_options() 设置的 C/CXX FLAGS

在我的CMakeLists.txt中,全局 C 和 CXX 标志是使用命令add_definitions()add_compile_options 设置的

多次尝试检索 C/CXX 标志:

  1. ${CMAKE_C_FLAGS}并且${CMAKE_CXX_FLAGS}是空的
  2. ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}}是原始的默认 CMake 值
    (例如-gfor CMAKE_C_FLAGS_DEBUG
  3. ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}}和上面一样
  4. get_cmake_property(def COMPILE_DEFINITIONS)NOTFOUND
  5. get_cmake_property(opt COMPILE_OPTIONS)也是NOTFOUND

我想将我的自定义 C/CXX 标志传递给基于以下内容的外部项目./configure

(1)如何获取add_definitions()add_compile_options设置的编译标志?

注意:我使用 CMake 版本 3.3.2


在写这个问题时,我意识到我想知道另一个问题:

我使用ccache./configure脚本看不到我的环境变量CCCXX当我这样设置它们时:

(2)以上这些 CMake 语句是否正确?


哎呀我又问了一个问题:

我从同一个变量中检索LDFLAGSand 。 (3)是否需要设置另一个 CMake 变量ARFLAGS${CMAKE_STATIC_LINKER_FLAGS}
ARFLAGS

0 投票
0 回答
324 浏览

tcl - 错误:尝试 ./configure && make package nap 时使用 -fPIC 重新编译

我正在尝试为 tcl 配置和制作安装包 nap6.4,但它在“制作”期间失败并出现以下错误:

所以我被告知要使用 -fPIC 重新编译,我在终端通过以下方式进行了编译:

但这不起作用。我也尝试过使用 --disable-shared、make clean 和

以及其他不工作的 CFLAGS 版本。

所以我想知道如何使用 -fPIC 重新编译?我在这里缺少一些特殊的语法吗?

0 投票
1 回答
750 浏览

json - json 请求中的 404 错误 - 传递了所有可能的标头,但没有运气

我正在尝试登录一个应用程序,它有文本/html 和一些应用程序/json。我能够从上一个请求登录到应用程序,但我相信 json 正在加载一些额外的数据,它给了我一个 404 错误。我尝试添加如下所示的标题,但仍然没有运气。我附上了一张快照,以显示正在加载的不同请求标头。

此外,我无法关联 cflags、umps 会话 ID,因为我不确定它们来自哪里。我没有在服务器响应中看到。只是标题。有人可以在这里给我一些信息吗?

如果我遗漏了什么,请告诉我。