我正在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.
我正在读一本关于linux编程的书,在一个用于错误处理的头文件中,他们用宏显示了这个代码块,这个宏可以阻止'gcc -Wall‘从抱怨控制到达非空函数的末端。我不完全明白它是怎么工作的。
#ifdef __GNUC__
/* macro stops 'gcc -Wall' complaining that 'control reaches
end of non void function' if we use following functs to
terminate main() or some other non-void funct *
我在c代码中使用include:< openssl/md5.h >。当我用"gcc“编译器编译时,我没有任何错误,但当我用交叉编译器"arm-linux-gnueabi-gcc”编译它时,我有以下错误:
/usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
compilation terminated.
我认为这个错误是因为我在交叉编译文件夹"/usr/arm-linux-gnueabi-gcc“中没有openssl
我从英特尔网站下载了MPSS软件栈版本3.5.2源代码。我正在尝试从源代码编译xeon端口GCC (移植自GCC 4.7.0),并将其安装在本地子目录中。但是,我得到了以下错误-
k1om-mpss-linux-gcc -dumpspecs > tmp-specs
/bin/sh: k1om-mpss-linux-gcc: command not found
我的配置如下-
# The below directory contains the cross compiled libs
# like assembler and linker
export PATH=$HOME/xeon-ph
我想用来自C++ Standard Base 的Linux构建我的程序。程序依赖于Boost库,用gcc 4.4版本构建。编译失败。是否可以使用LSB C++编译器构建Boost库?或者,有没有可能用一些旧的gcc版本来构建Boost库,推荐的版本是什么?我的最终目标是让我的可执行文件和第三方Boost库在大多数Linux发行版上运行。
通常,通过使用Boost库开发C++闭源应用程序,可以为Linux发行版获得更好的二进制兼容性?