为了知道参数的意思,以及为了从头建立一个项目,我从使用QTCreator来单独建立项目(当然也可以直接使用源代码中建立好的VS项目)。

其实也推荐

VS2010调试

如果是用自带的VS项目,那么我们需要把依赖的动态库添加到PATH或者把dll拷贝到运行目录:

E:\01_workspace\05_RL\rl-0.6.2\build\demos\rlCoachKin\Debug

我们自己编译了之后,调试运行时,打开RL库的源文件,打断点也是可以进入调试的。这样方便我们开发调式。

不管是QT还是VS也都适用。


QT项目:

QT项目建立好之后多半启动会assert:那是因为eigen的问题,需要添加一个宏即可。

QT项目如下(可以修复这个assert):


TEMPLATE=app
CONFIG+=console
CONFIG-=app_bundle
QT+=opengl
QT+=network #如果链接报错:
#LNK2038:检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项:值“0”不匹配值“2”(ConfigurationDelegate.obj中)
#则是因为:Debug使用了Release的库文件。 INCLIUDE_ROOT=$$quote(E:/ProgramFiles(x86)/rl-0.6.2/include)
LIB_ROOT=$$quote(E:/ProgramFiles(x86)/rl-0.6.2/lib)
PRJ_ROOT=../
DESTDIR=$$PRJ_ROOT/bin/ CONFIG(debug,debug|release){
LIBS+=-L$$LIB_ROOT/-lrlkind-lrlsgd-lrlxmld-lcoin3d-lsoqt1d-llibxml2
}else{
LIBS+=-L$$LIB_ROOT/-lrlkin-lrlsg-lrlxml-lcoin3-llibxml2
} #DEFINES+=COIN_NOT_DLL
#DEFINES+=SOQT_NOT_DLL DEFINES+=COIN_DLL
DEFINES+=SOQT_DLL
DEFINES+=M_PI=3.14159265358979323846 #解决Eigenabort的问题
#参考:http://eigen.tuxfamily.org/dox-devel/TopicUnalignedArrayAssert.html
DEFINES+=EIGEN_DONT_ALIGN_STATICALLY INCLUDEPATH+=$$INCLIUDE_ROOT
INCLUDEPATH+=$$INCLIUDE_ROOT/boost-1_52 SOURCES+=$$PRJ_ROOT/ConfigurationDelegate.cpp
HEADERS+=$$PRJ_ROOT/ConfigurationDelegate.h
SOURCES+=$$PRJ_ROOT/ConfigurationModel.cpp
HEADERS+=$$PRJ_ROOT/ConfigurationModel.h
SOURCES+=$$PRJ_ROOT/MainWindow.cpp
HEADERS+=$$PRJ_ROOT/MainWindow.h
SOURCES+=$$PRJ_ROOT/OperationalDelegate.cpp
HEADERS+=$$PRJ_ROOT/OperationalDelegate.h
SOURCES+=$$PRJ_ROOT/OperationalModel.cpp
HEADERS+=$$PRJ_ROOT/OperationalModel.h
SOURCES+=$$PRJ_ROOT/rlCoachKin.cpp
SOURCES+=$$PRJ_ROOT/Server.cpp
HEADERS+=$$PRJ_ROOT/Server.h
SOURCES+=$$PRJ_ROOT/Socket.cpp
HEADERS+=$$PRJ_ROOT/Socket.h


但是运行会abort,居然是构造出问题了。其实是Eigen内部优化的abort,去掉即可:

08_rlCoachKin自主编译,调试的更多相关文章

  1. 使用VS+VisualGDB编译调试Linux程序

    Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第 ...

  2. 【转载】Windows下VSCode编译调试c/c++

    懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Windows下VSCode便携式c/c++环境 http://blog.csdn.net/c_duoduo/article/de ...

  3. 【菜鸟玩Linux开发】在Linux中使用VS Code编译调试C++项目

    最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS Code在Linux下的安装这里就不提了,不管是CentO ...

  4. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  5. [vim配置]windows下在vim中使用gcc/g++编译调试c/cpp文件

    在Linux里面混了一个多月,vim编程用得甚爽.无奈前天将Linux里面的编程文件夹误删,而技术不精无法找回,悲痛欲绝.再者,无限怀念windows里面的游戏,并觉得现在在Linux里面也学不到什么 ...

  6. 【转载】在Linux中使用VS Code编译调试C++项目

    原文:在Linux中使用VS Code编译调试C++项目 最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS ...

  7. 在Linux中使用VS Code编译调试C++项目

    最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS Code在Linux下的安装这里就不提了,不管是CentO ...

  8. 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...

  9. Android:基于Eclipse编译调试系统级应用源代码

    一.      概要描述 在使用Eclipse导入android工程源代码以后,我们可以使用ddms调试和跟踪源代码. 本文讲述动态调试源代码和静态调试源代码的两种方法,避免build system. ...

随机推荐

  1. hdu 1392凸包周长

    //用的自己的计算几何模板,不过比较慢嘿嘿 //要注意只有一个点和两个点 //Computational Geometry //by kevin_samuel(fenice) Soochow Univ ...

  2. C++容器类的简介

    C++容器类的简介 一.原型与构造函数 Vector的原型可定义为 vector<T, allocator <T> > 其构造函数为 vector()             ...

  3. ZOJ 3827 Information Entropy 水题

    Information Entropy Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/sh ...

  4. Redis的Time Event与File Event的微妙关系

    redis里设计了两类事件,一类是file event,一类是time event. 其中file event主要为网络事件而设计,而time event为一些后台事件设计. 在两类事件的管理设计上, ...

  5. 全面解析java注解

    一.注解概述       1.学习注解能够读懂别人的代码,特别是框架相关的代码       2.让自己的编程更加简洁,代码更加清晰       3.让别人高看一眼,会使用自定义注解来解决问题     ...

  6. NDK设置C++编译器版本号

    背景及问题: 小僧在使用VS2010写C++写Cocos2d-x  2.2.1的版本号的时候不小心使用了C++11的语法,怎料移植android版本号的时候编译失败(编译环境:ADT+NDK),例如以 ...

  7. 解决MVC Jquery"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站"的问题

    在ASP.NET MVC项目中,使用AJAX向控制器发送GET请求获取JSON数据时,出现这个错误:"此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站.若要允许 G ...

  8. STC89C52单片机内部EEPROM驱动

    STC89C52单片机自身带有4K的存储空间,分为8个扇区,每个扇区512字节,第一扇区起始地址为:0x2000, 结束地址为:21FF, 第八扇区起始地址为0x2E00,结束地址是2FFF #inc ...

  9. linux 学习笔记 Linux内核的四大功能简介

    一 内存管理 默认情况下,运行在Linux系统上的每个进程都有各自的内存页面:进程不能访问其他进程正在使用的内存页面. 内核维护着自己的内存区域 用户进程不能访问内核进程的内存 可以创建一些共享内存页 ...

  10. linux服务器上apache+php独立于mysql server单独部署

    1. mysql client 2. libmysqlclient-devel 3. PDO_MYSQL