草庐IT

c++ - -m32 选项不适用于 gcc 但适用于 g++

我试图在x86_64ubuntu12.04机器上为32位目标编译一个应用程序。我使用安装了所需的包sudoapt-getinstallgcc-multilibg++-multiliblibc6-i386libc6-dev-i386第一个命令可以生成32位版本。然而,第二个命令出错了1.g++-m32hello.c2.gcc-m32hello.cskippingincompatible/usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.awhensearchingfor-lgcc/usr/bin/ld:cannotfind-lgcc/usr/bin/ld:s

c++ - 如何用 g++ (Ubuntu) 编译 OpenAL 程序?

我正在尝试找到一种让OpenAL在我的计算机上工作的方法:Ubuntu12.10(runningon2010inteli7MacbookPro)我从终端安装了OpenAL库:$sudoapt-getinstalllibopenal-dev一切顺利。现在我尝试创建一个简单的C++程序,其中包含库:#include#includeusingnamespacestd;intmain(){cout无论我多么努力地尝试,我最接近找到如何使用g++编译它的方法是:$g++test.cpp-lalut这会产生以下错误:test.cpp:2:21:fatalerror:AL/alut.h:Nosuch

linux - g++ 默认 header 包含列表

在Linux机器(lubuntu11.10)中以详细模式执行交叉g++编译时,我可以看到默认包含头目录的列表:#includesearchstartshere:/opt/eldk-4.2/usr/bin/../lib/gcc/powerpc-linux/4.2.2/include/opt/eldk-4.2/ppc_4xx/usr/include/c++/4.2.2/opt/eldk-4.2/ppc_4xx/usr/include/c++/4.2.2/powerpc-linux/opt/eldk-4.2/ppc_4xx/usr/include/c++/4.2.2/backward/opt

c++ - G++ 找不到 boost 库。我说他们在众目睽睽之下

我正在尝试构建一些代码。这是我得到的错误:main.o:Infunction`__static_initialization_and_destruction_0':/home/jmbeck/Downloads/boost_1_48_0/boost/system/error_code.hpp:214:undefinedreferenceto`boost::system::generic_category()'还有更多,但我认为这不相关。这是构建命令:g++-I/home/jmbeck/Downloads/boost_1_48_0-L/home/jmbeck/Downloads/boost

c++ - 使用 g++ 编译多个源目录

我的c++项目结构如下src||source1.cpp|source2.cpp|||__source11.cpp|__source12.cpp|||__source21.cpp|__source22.cpp可以看出,有多个文件夹和多个源文件。我给g++什么命令来将所有源文件编译成一个.o文件? 最佳答案 如果您有很多源文件,您真的应该考虑编写一个Makefile:http://mrbook.org/tutorials/make/例如,您可以使用类似于此的语法来编译多个文件(在Makefile中):%.o:$(SRC_FOLDER)/

c++ - 如何在 g++ 中链接同一库的不同版本?

我想知道如何在SLES10机器上加载两个不同版本的libstdc++.so。我的客户有一个进程Foo,它是用GCC4.1.2构建的,因此使用6.0.8版本的libstdc++.so。我们还在构建名为libBar.so的共享库。该库将在运行时由Foo动态加载。libBar.so是使用GCC4.3.6和libstdc++版本6.0.10编译的。目前,当我尝试让Foo加载libBar.so时,出现以下错误。error:unabletoloadsharedobject'/usr/lib64/libBar.so':/usr/lib64/libstdc++.so.6:version`GLIBCXX

linux g++ 编译器重定向 stderr 和 stdout 创建空文件

我正在将g++编译器输出(stderr和stdout)重定向到linux上的一个文件。但它正在创建一个空文件。我在其他帖子中读到,stdout并没有在每一行之后刷新。没关系,但是stderr呢?在我的例子中,运行多个屏幕时出现编译错误。所以,我对stderr输出很感兴趣。没有创建标准输出输出。g++-c-I~/cplusplus/boost_1_37_0/boost_1_37_0/-I~/cplusplus/niVxWorksDeliver/TEES/Algorithms.cpp2>output上述命令创建了一个名为“output”的空文件。以下命令报告无效的空命令。g++-c-I~/

c++ - 通过 g++ 编译将 .so 文件链接到 .cpp 文件

我正在尝试让一个库在我的c++项目中工作,但对于不习惯c++的人,没有关于如何做到这一点的明确说明以下link是离我最近的地方内容如下-L/path/to/my/library/folder-ldllname还有以下thread陈述如下gccyourfile.cpp-lblah现在我可以看到命令是-l+filename,例如我的文件名是directory/libtest.so它会是-ldirectory/libtest.so,这是正确的吗,有人可以澄清我目前正在使用以下命令编译我的maincpp.cpp文件,但我想包含一个名为./directory/libtest.so的.so文件g+

linux - 如何检测属于 gsm/3g-modem 的 tty 是数据端口还是控制端口?

我目前正在为linux路由器编写一个小工具,当我将适当的调制解调器插入其USB端口时,它会设置wwan(gsm/3g)连接。当设备插入时,会注册多个ttys,我目前维护一个制造商和设备列表,以及他们注册的ttys中的哪个是控制/数据端口。如果可能的话,我想摆脱这个列表,并找到一种方法以某种方式直接探测已注册的ttys,以检查它们是控制端口还是数据端口。我检查了wvdial和modem-manager的源代码以了解这些工具如何检测正确的端口但无法找到合适的信息。我还尝试在sysfs中查找信息以区分端口,但这也没有成功。 最佳答案 您无

c++ - 使用 quadmath 在 G++ 4.6.3 Linux 中实现四倍精度

我已经尝试执行代码了#include#includeintmain(){char*y=newchar[1000];quadmath_snprintf(y,1000,"%Qf",1.0q);std::cout用这个命令g++test.cpp-otest但是我得到了错误:/tmp/cctqto7E.o:Infunction`main':test.cpp:(.text+0x51):undefinedreferenceto`quadmath_snprintf(char*,unsignedint,charconst*,...)'collect2:ldreturned1exitstatus版本是: