我的C++程序遇到的错误---纯属个人笔记
2013-11-28 11:33
507 查看
这篇文章记载学习工作中C++程序遇到的错误、错误原因、解决方案等。属于没遇见一个新的错误更新本文一次。纯属个人笔记
In file included from /home/abing/software/lte_ul_rs_generator.cc:24:0:
/usr/include/c++/4.6/iostream:43:1: 错误: expected initializer before ‘namespace’
这是出要的错误,同时该错误会引发如下错误:
/home/abing/software/lte_ul_rs_generator.cc: 在函数‘int main()’中:
/home/abing/software/lte_ul_rs_generator.cc:218:5: 错误: ‘cout’不是‘std’的成员
/home/abing/software/lte_ul_rs_generator.cc:224:9: 错误: ‘cout’不是‘std’的成员
/home/abing/software/lte_ul_rs_generator.cc:226:13: 错误: ‘cout’不是‘std’的成员
错误原因:
经过网上一番查找,终于发现原来是在头文件中生命函数的时候,在声明语句最后少了“;”,真的是很不小心才造成这个莫名其妙的错误。
如此解决方案就是加上“;”。问题解决。
*** glibc detected *** /home/abing/software/lte_ul_rs_generator: double free or corruption (out): 0x0000000001142290 ***
错误原因:
malloc分配的数组size小于程序中数组实际使用的大小,在使用malloc free过程中一定要注意,分配的大小,以及最终释放的指针一定要是malloc分配的指针,就是在程序过程中不能更改malloc分配的指针指向,
解决:
找到出错的malloc位置,更改分配大小。
错误原因:
在编译的过程中没能连接到fftw的库文件。
解决:
添加“-lfftw3
-lfftw3f”,(注意fftw3表示精度为double,fftw3f表示精度为float)
4、Undefined
使用boost库中的thread相关内容遇见错误:
只知道是连接错误。
解决:
/tmp/cckXDKC8.o: In function `main':
test.cc:(.text+0xd3): undefined reference to `boost::signals::connection::~connection()'
test.cc:(.text+0x155): undefined reference to `boost::signals::connection::~connection()'
test.cc:(.text+0x1d7): undefined reference to `boost::signals::connection::~connection()'
test.cc:(.text+0x259): undefined reference to `boost::signals::connection::~connection()'
这是连接错误:
在执行编译是使用即可:
g++ test.cc -o test.o -lboost_signals参考:http://www.cplusplus.com/forum/general/60868/
1、expected initializer before ‘namespace’
在头文件中声明函数,在cc文件中定义及使用,一不小心出现如下错误:In file included from /home/abing/software/lte_ul_rs_generator.cc:24:0:
/usr/include/c++/4.6/iostream:43:1: 错误: expected initializer before ‘namespace’
这是出要的错误,同时该错误会引发如下错误:
/home/abing/software/lte_ul_rs_generator.cc: 在函数‘int main()’中:
/home/abing/software/lte_ul_rs_generator.cc:218:5: 错误: ‘cout’不是‘std’的成员
/home/abing/software/lte_ul_rs_generator.cc:224:9: 错误: ‘cout’不是‘std’的成员
/home/abing/software/lte_ul_rs_generator.cc:226:13: 错误: ‘cout’不是‘std’的成员
错误原因:
经过网上一番查找,终于发现原来是在头文件中生命函数的时候,在声明语句最后少了“;”,真的是很不小心才造成这个莫名其妙的错误。
如此解决方案就是加上“;”。问题解决。
2、double free or corruption (out)
在使用malloc 和free进行数组操作的时候因为malloc的数组大小比运行过程中实际使用的大小要小,故而出现如下错误:*** glibc detected *** /home/abing/software/lte_ul_rs_generator: double free or corruption (out): 0x0000000001142290 ***
错误原因:
malloc分配的数组size小于程序中数组实际使用的大小,在使用malloc free过程中一定要注意,分配的大小,以及最终释放的指针一定要是malloc分配的指针,就是在程序过程中不能更改malloc分配的指针指向,
解决:
找到出错的malloc位置,更改分配大小。
3、使用fftw的错误“undefined reference ”
在使用fftw进行FFT/IFFT操作的时候遇见以下错误:/tmp/cc180fKJ.o: In function `fft_cc(std::complex<float>*, std::complex<float>*, int)': test.cc:(.text+0x296): undefined reference to `fftwf_malloc' test.cc:(.text+0x2ab): undefined reference to `fftwf_malloc' test.cc:(.text+0x2cc): undefined reference to `fftwf_plan_dft_1d' test.cc:(.text+0x2fc): undefined reference to `fftwf_execute' test.cc:(.text+0x328): undefined reference to `fftwf_destroy_plan' test.cc:(.text+0x334): undefined reference to `fftwf_free' test.cc:(.text+0x340): undefined reference to `fftwf_free'
错误原因:
在编译的过程中没能连接到fftw的库文件。
解决:
添加“-lfftw3
-lfftw3f”,(注意fftw3表示精度为double,fftw3f表示精度为float)
4、Undefined
reference to Boost Thread
使用boost库中的thread相关内容遇见错误:/tmp/ccTWxhCT.o: In function `main': test.cc:(.text+0x66): undefined reference to `boost::thread::join()' test.cc:(.text+0x72): undefined reference to `boost::thread::join()' test.cc:(.text+0x83): undefined reference to `boost::thread::~thread()' test.cc:(.text+0x8f): undefined reference to `boost::thread::~thread()' test.cc:(.text+0xa7): undefined reference to `boost::thread::~thread()' test.cc:(.text+0xb8): undefined reference to `boost::thread::~thread()'错误原因:
只知道是连接错误。
解决:
g++ test.cc -o test -L/usr/local/lib/ -lboost_thread详情可参考:http://stackoverflow.com/questions/17455928/undefined-reference-to-boost-thread
5、undefined reference to `boost::signals::connection
boost signals2使用出错:/tmp/cckXDKC8.o: In function `main':
test.cc:(.text+0xd3): undefined reference to `boost::signals::connection::~connection()'
test.cc:(.text+0x155): undefined reference to `boost::signals::connection::~connection()'
test.cc:(.text+0x1d7): undefined reference to `boost::signals::connection::~connection()'
test.cc:(.text+0x259): undefined reference to `boost::signals::connection::~connection()'
这是连接错误:
在执行编译是使用即可:
g++ test.cc -o test.o -lboost_signals参考:http://www.cplusplus.com/forum/general/60868/
相关文章推荐
- C++ Primer 学习笔记_88_用于大型程序的工具 -错误处理[续1]
- 使用NDK 编译C/C++程序遇到 crtbegin_so.o: No such file or directory 等错误
- Linux下编译C++程序遇到错误:undefined reference to '***'
- Linux下编译C++程序遇到错误:undefined reference to `*::*
- ArcGIS API for Flex制作程序发布后出现错误:"访问 URL 时遇到安全性错误" 解决办法尝试(学习笔记)
- C++遇到的错误解决笔记
- linux下编译c++程序遇到 error: ‘thread’ is not a member of ‘std’的错误
- 编译C++程序遇到错误:undefined reference to `*::*
- IIS发布mvc程序遇到的HTTP错误 403.14-Forbidden解决办法
- c++菜鸟错误笔记3关于传值与引用的问题
- Directshow学习笔记五-----一个简单的视频播放程序(个人学习总结,仅供参考)
- 解决安装ubuntu时,出现安装程序向硬盘复制文件时遇到的错误
- WIN7下的WCF遇到的问题:HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
- MFC编写程序的时候遇到的一些逻辑错误 持续......
- c++学习笔记序列之经典处理程序汇总(不断更新中)
- linux (ubuntu) Qt 5.9.1 发布程序 转载+个人错误记录
- 关于androidstuio运行程序遇到 Error:(11, 8) 错误: 无法访问HttpEntity 找不到org.apache.http.HttpEntity的类文件解决方法
- VS.NET2005打包程序遇到不可恢复的生成错误,解决方案
- Service Mesh的一些开源项目,纯属个人笔记
- Flash_Builder_4.5安装过程中安装程序遇到错误(-1)