- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想在 Golang 中调用 C 代码:
// #cgo CFLAGS: -I/usr/include/c++/8.1.1/bits
// #cgo CXXFLAGS: -std=gnu++11
// #include "c++0x_warning.h"
import "C"
但出现错误:
In file included from ./main.go:5:
/usr/include/c++/8.1.1/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
所以cgo不使用CXXFLAGS。我试过 -std=c++11
但它也不起作用。我做错了什么?
$ go version
go version go1.10.3 linux/amd64
最佳答案
请引用以下SO问题:Difference between CPPFLAGS and CXXFLAGS in GNU Make找出您在程序上下文中真正需要的标志。
如果您正在调用纯 C 代码(而不是 C++ 代码),我认为您不需要 CXX_FLAGS
:
CPPFLAGS
are supposed to be flags for the C PreProcessor;CXXFLAGS
are flags for the C++ compiler.
您可能还想查看您的 go env
.如果你真的需要这个标志,你可以尝试使用 env CGO_CXXFLAGS="-std=c++11" go build <YOUR_CODE>
来编译你的程序。 .
关于c++11 - cgo 不包含 CXXFLAGS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51030039/
我正在尝试使用两个文件编译 NodeJS native 模块:1 个 .c 文件和 1 个 .cpp 文件。这是我的“wscript”文件的样子: def set_options(opt): op
我正在尝试将 Make 项目转换为 Bazel。目前,makefile 检测正在使用的编译器并相应地设置某些 CXXFLAGS(并非所有编译器都能理解所有标志)。 例如: ifeq ($(shell
我正在使用 GNU make 编译我的 C++ 代码,我想了解如何使我的编译可定制。 我在不同的地方读到 CFLAGS、CCFLAGS 和 CXXFLAGS 用于此目的。那么我应该如何使用它们呢?如果
我正在使用GNU make来编译我的C++代码,并且我想了解如何使我的编译可定制。 我在不同的地方阅读了CFLAGS,CCFLAGS和CXXFLAGS用于此目的。那么我应该如何使用它们呢?如果我对编译
在 dirA/SConscript 中我有: Import('env') probeenv = env.Clone() probeenv['CXXFLAGS'] += ['-fno-rtti','-
我已经阅读了一些安装,我需要正确设置环境变量LDFLAGS、LD_LIBRARY_PATHS和CXXFLAGS才能运行./compile.sh。但是,我不确定在那里提供什么路径。有人可以解释一下这些标
我最近正在构建一个新的 NS3 模块。在我的代码中,我使用了 C++11 (c++0x) 的一些新特性,我想添加一个 gcc flags (CXXFLAGS) "-std=c++0x " 到 waf
我想在 Golang 中调用 C 代码: // #cgo CFLAGS: -I/usr/include/c++/8.1.1/bits // #cgo CXXFLAGS: -std=gnu++11 //
在我的机器上,variant=release 的 cxxflags 默认为 -O3。 我需要将其更改为-O2。 请告知如何进行。 如果有人可以就此提出建议,我也可以定义新的变体。 最佳答案 只需使用:
典型的 makefile 通常使用内置变量 CFLAGS、CXXFLAGS、CPPFLAGS 等1设置传递给 C、C++ 或其他编译器/工具的标志。原则上,有时这甚至可以让您完全避免编写编译配方,因为
在编译我的 C++ 程序之前,我从命令行exported CXX 和 CXXFLAGS。 $ export CXX="/media/space/gcc-dist/bin/g++" $ export C
我想在 Rcpp 项目的 Makevars 中将 C++ 编译器标志设置为 -O0。 如果我看一下/etc/R/Makeconf,我发现编译命令似乎是 $(CXX) $(ALL_CPPFLAGS) $
我尝试构建的项目有默认标志 CFLAGS = -Wall -g -O2 CXXFLAGS = -g -O2 我需要向这两个变量附加一个标志 -w (以删除:“将所有警告视为错误”) 我有一个方法可以解
我需要使用 bjam 添加编译器标志。因此,要么我需要一种方法来附加到现有标志——比如 CXXFLAGS+=whatever using gmake——要么我需要知道 cxxflags 当前使用的值,
首先这里的Makefile有 CFLAGS = -g -Wall -lm 那时候我在玩C。现在我在 C++ 上,我必须添加 -I eigen,快速谷歌一下,发现 CXXFLAGS 存在于 C++
是否有强制生成的 makefile 读取 CXXFLAGS 的选项?和 CFLAGS变量并像大多数makefile一样使用它们? 最佳答案 Eclipse CDT 生成的 makefile 包含以下几
我只想调试在 Linux 上运行的一些代码,并且需要调试版本 ( -O0 -ggdb )。所以我将这些东西添加到我的 CMakeLists.txt 中 文件: set(CMAKE_BUILD_TYPE
GNU Make 中的 CPPFLAGS 和 CXXFLAGS 有什么区别? 最佳答案 CPPFLAGS 应该是 C PreP 处理器的标志; CXXFLAGS 用于 C++ 编译器的标志。 make
我有一个项目有一些要求,其中之一是设置 c++11 编译器/链接器标志: jamroot.jam: project : requirements clang:"-stdlib=li
我真的需要一些基本问题的帮助。我即将永远放弃学习 GCC,因为基础知识对我来说似乎没有意义。我已经阅读了数百篇文章,但无法弄清楚如何通过 configure 获得基本的 -std=c++11 工作调用
我是一名优秀的程序员,十分优秀!