我有一个非常简单的c代码,它可以将一个字符串打印到我的linux命令行。当我在编译这个程序的主机上运行这个程序时,它会打印到我的CLI。当我将它移到另一个linux主机时,它会抛出一个错误“浮点异常”。
#include <stdio.h>
int main(void){
printf("My first C program\n");
return 0;
}
编译它的主机是
Linux Kali Debian 4.17.8 GCC版本8.2.0
主持我试图执行的
Debian Linux 4.0
我想用来自C++ Standard Base 的Linux构建我的程序。程序依赖于Boost库,用gcc 4.4版本构建。编译失败。是否可以使用LSB C++编译器构建Boost库?或者,有没有可能用一些旧的gcc版本来构建Boost库,推荐的版本是什么?我的最终目标是让我的可执行文件和第三方Boost库在大多数Linux发行版上运行。
通常,通过使用Boost库开发C++闭源应用程序,可以为Linux发行版获得更好的二进制兼容性?
我正在使用一个32位的Ubuntu系统,我的目标是为arm架构(beagleblack)编译我的C++程序。但是,我的C++程序需要libboost,这意味着我在编译时会遇到这样的错误:
/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lboost_system
-bash: /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld:: No such file or directory
在阅读了一些博客之后,我认为我必须自己为ARM
当我像下面给出的那样编译两个.c文件时,我得到一个非常奇怪的错误。
终端编译代码
gcc -I. -o main.c matrix.c -lblas -lgfortran
错误:
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has in
我正在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.