问题标签 [compiler-options]

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 回答
1355 浏览

c# - C# CodeDom 多编译器选项

我想用 CodeDom 添加多个 CompilerOptions,但我不知道该怎么做。

我目前正在尝试:

问题是只有两个参数中的后者被合并到输出可执行文件中。有没有办法将 CompilerOptions 参数添加为数组?

感谢您的任何帮助,

埃文

0 投票
1 回答
566 浏览

c - 合并 SQLite3 源的小型构建

我想使用此处描述的编译器选项来生成更小的 SQLite3 库。但是,这些选项(包括-Os看起来)显然不适用于合并的源,这是我的偏好。(我什至都​​试过了,确实不行。)

是否有一个很好的替代方法来生成一个不涉及sqlite3.c检查依赖关系的较小的 SQLite3 库?

0 投票
1 回答
1144 浏览

opengl - 在 Ubuntu 上的代码块内编译 SDL 和 OpenGL

所以每当我使用终端编译我的代码时,我都必须编译:

如何在代码块中执行此操作?我已经尝试将它们放入项目的构建选项中,但这并没有解决任何问题。

编辑:我也尝试过设置程序参数,但没有奏效......

0 投票
2 回答
2759 浏览

c++ - 如果同时指定 EHsc 和 EHa 会发生什么

我正在处理遗留代码。

为了修复一些错误,我必须给一些文件 EHa。我测试了在构建时为整个项目同时提供 EHsc 和 EHa。这解决了我的问题,但警告说编译器正在用 EHa 覆盖 EH。(选项顺序为:/EHsc /EHa)仅在构建需要 EHa 的文件时才会出现此警告。它不会出现在只需要 EH 的源文件上。

我的问题是,这个警告是否说明了实际发生的情况?EHa 是否仅应用于实际需要 EHa 的源文件?(其他不需要EHa的文件是用EHsc构建的吗?)

谢谢你。

0 投票
7 回答
13158 浏览

c++ - Qmake:如何在不更改 qmake.conf 的情况下删除某个项目的编译器标志?

我正在使用qmake和 Visual Studio。在发布版本中,qmake 将 /GL 和 /O2 标志添加到所有项目中,我需要为我的整个 Qt 项目中的某些库删除这两个标志。有办法吗?

0 投票
1 回答
1699 浏览

debugging - _DEBUG 何时何地定义?

我的一个头文件中有以下示例代码:

-DDEBUG包含此头文件的应用程序是使用带有选项的 gcc 编译器编译的。

问题:

_DEBUG因为-DDEBUG选项而定义的吗?

0 投票
2 回答
70 浏览

c++ - 编译器选项选择性应用

编译器选项可以选择性地应用于我的文件吗?我希望某些文件被某个选项覆盖,而不是其他文件。

0 投票
2 回答
16178 浏览

compiler-errors - Google 协议缓冲区交叉编译

我使用 Google 协议缓冲区的问题有两个部分,一个是关于编译器选项,另一个是交叉编译。构建机是Power6,64bit;主机是PowerPC450,32bit。海合会 4.1.2。

第一个问题是关于编译器选项:

我正在尝试在需要交叉编译的 PowerPC 机器上安装 Google 协议缓冲区。构建机是Power6,64bit;主机是PowerPC450,32bit。首先,我尝试直接在构建机器上安装,并带有告诉编译器使用哪个选项:

然后make,make check,make install,一切都很好。我认为我已经指定了主机,它应该包含编译需要知道的足够信息。当我尝试编译我的代码时

我收到错误:

并且没有发现很多关于 common.h 变量的错误。

我知道这是因为编译器无法识别选项 -zmuldefs 所以找不到确实存在的文件 common.h。我用谷歌搜索并没有得到任何明确的想法。如何使编译器可以使用该选项或可以找到该文件?或者我的编译命令有什么问题?


第二个问题是关于交叉编译。Google 协议缓冲区的自述文件并不清楚交叉编译的精确度。它说我必须使用 --with-protoc=protoc 来告诉 configure 使用哪个,好的,但在此之前我必须为主机安装一个副本。我首先使用命令为主机安装副本

然后制作,制作安装。

然后使用与主机使用相同的编译器进行交叉编译:

然后 make 并得到错误:

很多编译信息......blabla......

我哪里做错了?我还尝试在第一次安装(对于主机)中使用指定的编译器,它得到了与上面第二次安装相同的错误。一旦我成功完成安装,这里我将有两个安装,我应该使用哪个?有没有人可以给我一个例子来说明我如何交叉编译谷歌协议缓冲区?我没有找到任何关于此的详细示例。

非常感谢,

-托尼

0 投票
5 回答
214973 浏览

c++ - fpermissive 标志有什么作用?

我只是想知道-fpermissive标志在 g++ 编译器中的作用?我正进入(状态:

错误:获取临时地址 [-fpermissive]

我可以通过将 -fpermissive标志提供给编译器来解决。

编辑:我刚刚发现导致临时地址错误部分的原因!我现在要修复那部分。

0 投票
1 回答
207 浏览

haskell - 为什么 -XImplicitParams 只能从命令行工作,而不是编译指示?

为什么-XImplicitParams从命令行工作而不是 OPTIONS_GHC pragma?

我发现ghc t.hsthrows a parse error on input 'a'ift.hs包含以下代码,而ghc -XImplicitParams t.hs工作正常。同上ghci