我想用来自C++ Standard Base 的Linux构建我的程序。程序依赖于Boost库,用gcc 4.4版本构建。编译失败。是否可以使用LSB C++编译器构建Boost库?或者,有没有可能用一些旧的gcc版本来构建Boost库,推荐的版本是什么?我的最终目标是让我的可执行文件和第三方Boost库在大多数Linux发行版上运行。
通常,通过使用Boost库开发C++闭源应用程序,可以为Linux发行版获得更好的二进制兼容性?
我的c++程序中有sql代码,它在一台linux机器上运行得很好,但在另一台机器上,我在编译它时得到以下错误:
g++ test.cpp -o a -L/usr/lib/mysql -lmysqlclient -lboost_date_time
fatal error: /usr/include/mysql/mysql.h: No such file or directory
compilation terminated.
我已经安装了mysql,但是我显然遗漏了一些步骤(在这台安装了新的ubuntu的机器上)
有没有人能告诉我怎么解决。谢谢!
我正在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.
我正在探索从bash编译/运行简单的C++程序(在Ubuntu12.04中)。作为Linux的新手,我实际上有几个问题。
首先,Ubuntu/Linux似乎没有像.abc那样以格式显示文件类型。我知道操作系统不需要这个扩展名就能知道文件的类型,但是对于人类用户来说,能够一目了然地读取这些信息不是更方便吗?我怎么知道给定文件的类型?
第二(也是相关的),如果Linux似乎不关心用类型信息扩展文件名,为什么当我在gedit中创建一个简单的C++程序并只调用它'test‘时,编译不起作用(使用g++编译器顺便说一下),但是当我将文件命名为'test.cpp’时,它确实有效吗?
Lin
我正在使用一个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
我有一个问题,我正在Linux机器上编译我的C++应用程序。然后我将可执行文件移到另一台机器上,但我有一个错误:
./server: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by ./server)
我怎么才能修复它?不需要在发生此错误的第二台机器上重新编译(这是我的客户端机器)
编译命令:
g++ -o server test.cpp server.cpp ... -lboost_system -lboost_thread -std=c++0x
谢谢!
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
为了获得一个数字的精度和规模,我使用了这个简单的程序。但是,当将数字转换为字符串时,它会产生编译错误。
g++ precision.cpp
precision.cpp: In function ‘int main()’:
precision.cpp:6: error: ‘to_string’ was not declared in this scope
当我用-std=c++0x开关编译时
g++ precision.cpp -std=c++0x
precision.cpp: In function ‘int main()’:
precision.cpp:6: error: call of