08_rlCoachKin自主编译,调试
为了知道参数的意思,以及为了从头建立一个项目,我从使用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自主编译,调试的更多相关文章
- 使用VS+VisualGDB编译调试Linux程序
Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第 ...
- 【转载】Windows下VSCode编译调试c/c++
懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Windows下VSCode便携式c/c++环境 http://blog.csdn.net/c_duoduo/article/de ...
- 【菜鸟玩Linux开发】在Linux中使用VS Code编译调试C++项目
最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS Code在Linux下的安装这里就不提了,不管是CentO ...
- VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...
- [vim配置]windows下在vim中使用gcc/g++编译调试c/cpp文件
在Linux里面混了一个多月,vim编程用得甚爽.无奈前天将Linux里面的编程文件夹误删,而技术不精无法找回,悲痛欲绝.再者,无限怀念windows里面的游戏,并觉得现在在Linux里面也学不到什么 ...
- 【转载】在Linux中使用VS Code编译调试C++项目
原文:在Linux中使用VS Code编译调试C++项目 最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS ...
- 在Linux中使用VS Code编译调试C++项目
最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS Code在Linux下的安装这里就不提了,不管是CentO ...
- 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...
- Android:基于Eclipse编译调试系统级应用源代码
一. 概要描述 在使用Eclipse导入android工程源代码以后,我们可以使用ddms调试和跟踪源代码. 本文讲述动态调试源代码和静态调试源代码的两种方法,避免build system. ...
随机推荐
- R 语言画图的基本参数
R 语言画图的基本参数 点 点的种类 点的种类参数为 pch,每一种符号对应一个数字编号 # 点有25种,为了展示25种点 x = 1:25 y = 1:25 x ## [1] 1 2 3 4 5 6 ...
- 设置 ubuntu ftp
apt-get install后就是启动不了,ftp localhost connection refued 1. 关闭ubuntu防火墙 : ufw disable 2. 还是不行,报 500 m ...
- ios开发 数据库版本迁移手动更新迭代和自动更新迭代
数据库版本迁移顾名思义就是在原有的数据库中更新数据库,数据库中的数据保持不变对表的增.删.该.查. 数据持久化存储: plist文件(属性列表) preference(偏好设置) NSKeyedArc ...
- ASP.NET 学习的总结
应用程序域 使用.Net建立的可执行程序*.exe,并没有直接承载到进程当中,而是承载到应用程序域(AppDomain)当中.应用程序域是.Net引入的一个新概念,它比进程所占用的资源要少,可以被看做 ...
- TFS上使用Beyond Compare来比较源码
In Visual Studio, go to the Tools menu, select Options, expand Source Control, (In a TFS environment ...
- 【转】使用junit4进行单元测试(高级篇)
转自:http://blog.csdn.net/andycpp/article/details/1329218 通过前 2 篇文章,您一定对 JUnit 有了一个基本的了解,下面我们来探讨一下JUni ...
- 关于js的replace替换
关于js的replace替换 msgContent = msgContent.replace("a","b"); 这样的替换只会把第一个a替换成b,不会替换全部 ...
- 怎样加入� android private libraries 中的包的源码
先上图: 这里以加入� afinal_0.5.1_bin.jar 为例. 第一步:加入�jar包到libs里面,系统自己主动把jar载入到android private libraries中: 第二步 ...
- Middleware
Middleware The middleware gives a single shot to the views associated into Controllers, before execu ...
- 【转】Split strings the right way – or the next best way
I know many people are bored of the string splitting problem, but it still seems to come up almost ...