Questions tagged «g++»

g ++是GNU编译器集合(GCC)的C ++前端。GCC是GNU编译器集合。它是Linux上针对C,C ++,Go,Fortran和Ada的事实上的标准编译器,并且还支持许多其他语言和平台。除编译器外,GCC还具有一个工具链(libc,libstdc ++,objdump,nm等),该工具链已在多个平台和系统上广泛使用。

4
如何判断头文件的来源?
我如何知道g ++在哪里可以找到包含文件?基本上如果我 #include <foo.h> g ++将使用任何包含选项添加或更改路径来扫描搜索路径。但是,最终,有什么方法可以告诉我g ++选择编译的foo.h的绝对路径吗?如果无数的搜索路径中有多个foo.h,则尤其有用。 缺少实现该目标的方法...是否有办法让g ++告诉我,包括默认值和所有include选项后其最终搜索路径是什么?
97 c++  c  gcc  include  g++ 

2
如何在G ++中包含库的路径
我试图在我的makefile中包含其他库的路径,但我不知道如何使编译器使用该路径。到目前为止,我有: g++ -g -Wall testing.cpp fileparameters.cpp main.cpp -o test 我想包括通往 /data[...]/lib 因为testing.cpp包含该库中的文件。另外,我在Linux机器上。 编辑:不是库的路径。仅用于包含的文件。我的错。
96 path  g++ 


5
如何指定库路径的首选项?
我正在使用g++和编译c ++程序ld。我有一个.so我想在链接期间使用的库。但是,中存在一个同名的库/usr/local/lib,并且ld正在选择该库而不是我直接指定的库。我怎样才能解决这个问题? 对于以下示例,我的库文件为/my/dir/libfoo.so.0。我尝试过的事情不起作用: 我的g ++命令是 g++ -g -Wall -o my_binary -L/my/dir -lfoo bar.cpp 添加/my/dir到我的$PATHen`变量的开头或结尾 /my/dir/libfoo.so.0作为g ++的参数添加
91 c++  linker  g++ 


6
错误:free():下一个大小无效(快速):
我遇到的这个奇怪的错误是什么?我正在Ubuntu 10.10上使用g ++编译C ++。当我运行可执行文件时,它会随机弹出(可能在8个小时内出现2次,每小时编译10次)。但是,如果我进行清理并重新编译,则大多数情况下都不会使用它。 *** glibc detected *** ./emailQueue.app: free(): invalid next size (fast): 0x0000000001c40270 *** ======= Backtrace: ========= /lib/libc.so.6(+0x774b6)[0x7f490d95e4b6] /lib/libc.so.6(cfree+0x73)[0x7f490d964c83] ./emailQueue.app[0x401f47] /lib/libc.so.6(__libc_start_main+0xfe)[0x7f490d905d8e] ./emailQueue.app[0x401cc9] ======= Memory map: ======== 00400000-0040d000 r-xp 00000000 08:01 1311132 /home/server/Projects/email/emailQueue.app 0060d000-0060e000 r--p 0000d000 08:01 1311132 /home/server/Projects/email/emailQueue.app 0060e000-0060f000 rw-p 0000e000 08:01 1311132 /home/server/Projects/email/emailQueue.app 01c40000-01c82000 rw-p 00000000 00:00 …
90 c++  g++ 

4
cc1plus:错误:g ++无法识别的命令行选项“ -std = c ++ 11”
我正在尝试使用g++和编译-std=c++11或c++0x标志。 但是,我得到这个错误 cc1plus: error: unrecognized command line option "-std=c++11" g ++ --version g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2
GNU GCC(g ++):为什么会生成多个dtor?
开发环境:GNU GCC(g ++)4.1.2 当我试图研究如何在单元测试中增加“代码覆盖率-特别是功能覆盖率”时,我发现某些类dtor似乎会多次生成。你们当中有人对为什么有任何想法吗? 我尝试并使用以下代码观察了上面提到的内容。 在“ test.h”中 class BaseClass { public: ~BaseClass(); void someMethod(); }; class DerivedClass : public BaseClass { public: virtual ~DerivedClass(); virtual void someMethod(); }; 在“ test.cpp”中 #include <iostream> #include "test.h" BaseClass::~BaseClass() { std::cout << "BaseClass dtor invoked" << std::endl; } void BaseClass::someMethod() { std::cout << "Base …
89 c++  g++  destructor 

4
用G ++编译多线程代码
我有史以来最简单的代码: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } 尽管我仍然无法编译g++运行它。 更多细节: $ g++ --version g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the …
89 c++  linux  ubuntu  gcc  g++ 

5
在Linux下的GCC中使用std :: thread的正确链接选项是什么?
嗨,我正在尝试std::thread与G ++一起使用。这是我的测试代码 #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } 它可以编译,但是当我尝试运行它时,结果是: terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted Aborted 我的编译器版本: $ g++ --version g++ (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see …

2
在makefile中转义
我正在尝试在makefile中执行此操作,但它以失败告终: M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}') 你知道为什么吗?我想这与转义有关,但是什么地方?

1
gcc / g ++:“没有这样的文件或目录”
g++ 给我以下形式的错误: foo.cc:<line>:<column>: fatal error: <bar>: No such file or directory compilation terminated. 使用编译C程序时相同gcc。 这是为什么? 请注意:这个问题已经被问过很多次了,但是每次都针对询问者的情况。这个问题的目的是要提出一个问题,即其他人可以作为的复制品一劳永逸地关闭;一个常见问题。
87 c++  c  gcc  g++  c++-faq 


1
具有指定模板参数的C ++ 11 make_pair无法编译
我只是在启用-std = c ++ 11的情况下玩g ++ 4.7(后面的快照之一)。我试图编译一些现有的代码库,而一个失败的案例使我有些困惑。 如果有人可以解释发生了什么,我将不胜感激。 这是代码: #include <utility> #include <iostream> #include <vector> #include <string> int main ( ) { std::string s = "abc"; // 1 ok std::pair < std::string, int > a = std::make_pair ( s, 7 ); // 2 error on the next line std::pair < …

7
用gcc编译C ++程序
问题:如何使用gcc编译器编译C ++程序? info.c: #include<iostream> using std::cout; using std::endl; int main() { #ifdef __cplusplus cout << "C++ compiler in use and version is " << __cplusplus << endl; #endif cout <<"Version is " << __STDC_VERSION__ << endl; cout << "Hi" << __FILE__ << __LINE__ << endl; } 当我尝试编译时 info.c $ gcc …
84 c++  gcc  g++  gnu 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.