###g++编译器
2024-09-02 04:36:12
点击查看Evernote原文。
#@author: gr
#@date: 2014-07-20
#@email: forgerui@gmail.com
对g++编译器不是特别熟悉,希望借此熟悉一下.
Contents
要使用strlen需要加入
#include <cstring>
.g++编译器中的嵌套模板之间需要放一个空格.如下:
//o_O awesome!! <List<char> >中间应该有个空格
List<char> l1 = make<List<char>>("hello");
//~_~ correct
List<char> l2 = make<List<char> >("hello");
Template <typename Container>
Container make(const char* s){
return Container(s, s+strlen(s));
}
- 使用迭代器时,定义的时候需要加上typename;
//前面需要加上typename
for (typename List<char>::iterator it = l2.begin(); it != i2.end(); ++it);
在
visual studio
中,shared_ptr
通过#include <memory>
便可以使用,使用的时候可以使用std::shared_ptr
或者std::tr1::shared_ptr
.
在g++
中,需要#include <tr1/memory>
,并且使用的时候,必须使用std::tr1::shared_ptr
.gcc -Wall
生成所有警告信息。gcc -M
生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c
来测试一下,很简单。
gcc -MM
和上面的那个一样,但是它将忽略由#include造成的依赖关系。依赖问题:
kalman.o:在函数‘main’中:kalman.cpp:(.text+0x18b):对‘cv::KalmanFilter::KalmanFilter(int, int, int, int)’未定义的引用
编译时可以使用
g++ -c kalmane.cpppkg-config --cflags opencv
同样链接时可以使用
g++ -o kal kalman.cpppkg-config --libs opencv
最新文章
- LoadRunner使用之变量参数化
- IT小喇叭,关注于移动互联网创新、创业的科技媒体
- word20161130
- iOS.ReactNative-4-react-native-command-line-tool
- Unity3D ShaderLab 静态贴图光照模型
- HTTPS协议加密解密全过程(图解)
- [CODEVS2603]公路修建
- Ubuntu第一次使用调教教程
- MySql连接问题
- 基于visual Studio2013解决面试题之1408桶排序
- SpringAccess数据库(oracle)构造
- JavaScript进阶(四)js字符串转换成数字的三种方法
- nginx 报错502Bad Gateway
- Android Studio撤销与SVN的关联
- php7 pdo抽象类操作数据库
- Spring Boot 单元测试详解+实战教程
- 网络协议之TCP
- hdoj1069 Monkey and Banana
- Spring 事务管理案例
- 记录一下最近犯得sb的翻车错误