我正在Linux上用C++开发一个程序。gcc的版本是4.5.1 20100924。我想在我的程序中使用std::atomic_int。我已经包含了原子头,如下所示:
include <atomic>
当我编译这个程序时,我得到了以下错误:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.5.1/../../../../include/c++/4.5.1/bits/atomic_base.h:87:0,
from /usr/lib/gcc/x86_64-redhat-linux/4.
我最近下载了链接中提到的代码。我的GCC版本是4.1.2。在console中开始出现以下错误之前,编译过程至少进行了一个小时。
LLVM支持声明我需要使用gcc44-c++,这在我们的机器中是不可用的:
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
# yum install gcc44-c++
Loaded plugins: security
ppsd-nonprod-base
int delta[4][2] = {{0,1},{1,0},{0,-1},{-1,0}};
random_shuffle(&delta[0],&delta[4]);
编译错误:
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algobase.h: In function 'void std::swap(_Tp&, _Tp&) [with _Tp = int [2]]':
/usr/lib/gcc/x86_64-redhat-linux/
在编译qt的过程中,我发现有一个名为arm-linux-gcc的qws目标。我环顾了一下,但不知道如何找到它,在哪里找到它。我尝试了安装,apt-cache给出了以下输出。
apt-cache search armel
asterisk-prompt-fr-armelle - French voice prompts for Asterisk by Armelle Desjardins
rootstock - shellscript to create armel rootfs tarballs using a VM
rootstock-gtk - graphical frontend to
C和C++程序不在Angstrom上编译
C Progam (board.c):
#include<stdio.h>
void main(){
printf("hello world");
}
在Angstrom终端上编译C程序
root@pldek-beagle:~/Comparison# gcc board.c -o board
/usr/lib/gcc/arm-angstrom-linux-gnueabi/4.7.3/../../../../arm-angstrom-linux-gnueabi/bin/ld: this linker was not c
正如标题中所说的,我刚刚升级到Ubuntu,18.04,它附带了g++ 7.3.0。从那时起,我得到了以下编译器错误消息:
In file included from /usr/include/c++/7/ext/string_conversions.h:41:0,
from /usr/include/c++/7/bits/basic_string.h:6349,
from /usr/include/c++/7/string:52,
from /home/rene/projects/Celma
我正在尝试编译一个包含<iostream>头的简单c++代码。令人惊讶的是,我正面临着我以前从未遇到过的错误。如果删除了<iostream>头,一切都会正常工作。
代码:
#include <iostream>
int main(){
return 0;
}
编译错误:
$ g++ temp.cpp
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h:9:0,
from /usr/include/c++/7/cstdint:4
我想用来自C++ Standard Base 的Linux构建我的程序。程序依赖于Boost库,用gcc 4.4版本构建。编译失败。是否可以使用LSB C++编译器构建Boost库?或者,有没有可能用一些旧的gcc版本来构建Boost库,推荐的版本是什么?我的最终目标是让我的可执行文件和第三方Boost库在大多数Linux发行版上运行。
通常,通过使用Boost库开发C++闭源应用程序,可以为Linux发行版获得更好的二进制兼容性?
我意识到嵌套的性病::任何的都是一个坏主意。尽管如此,我还是遇到了一些让我抓狂的东西,我只是想弄明白为什么编译器会窒息。考虑以下代码行(假设arg变量是包含另一个std::any的std::any):
auto result = std::any_cast<std::any>(arg);
那行编译得很好。现在,考虑这一行,其中包含包含另一个std::any的std::tuple的std::any: any:
auto result = std::any_cast<std::tuple<std::any>>(arg);
现在编译器会爆炸。以下是我所犯的错误:
我意识到有几件这样的复制品,但到目前为止没有一件对我有用。我试图使用C++在Ubuntu上编译一个非常简单的g++程序,但是它给了我范围错误。
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world";
}
--这给了我一个错误:
sudo g++ -v test.c
test.c: In function ‘int main()’:
test.c:7:3: error: ‘cout’ was not declared in this scope
我还试着
可以使用幂函数来计算非常大的值的幂,如pow(200,200)。它也可以用于long long int值...pow(long long int,long long int)。
我在函数'int main()‘中得到这个错误/sources/tested.cpp:
/sources/tested.cpp:16:错误:调用重载的'pow(long long int&,long long int&)‘不明确
/usr/include/bits/mathcalls.h:154:注意:候选项为: double pow(double,double)
/usr/lib/gc
在linux上编译我的cpp文件时,使用以下行:
$ g++ -o blabla blabla.cpp
我在stdout上收到以下消息:
In file included from
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/array:35,
from blabla.cpp:5: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
include/c++/4.4.7/c++0x_warning.h:31:2:
error: #error T
我试图编译用C++编写的特定源代码,但我没有获得可执行文件。相反,我从终端得到以下消息:
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/array:35,
from cpptesting.cpp:6:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/c++0x_warning.h:31:2: error: #error This file