UCD_MonoSLAM配置记录02

本文汇总了多种编译过程中常见的错误及其解决方案,包括make命令的使用、标准库冲突、输入输出重定向、编译警告等问题,并提供了开源项目Monoslam的参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1安装和卸载安装包

make install - make uninstall - make clean 命令介

http://blog.163.com/lgh_2002/blog/static/44017526201183011437764/

make uninstall 删除make install命令生成的文件

make clean 删除编译生成的部分文件,保留内核文件和配置文件

make clean                              删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块
make mrproper                       删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件
make distclean  mrproper    删除的文件, 加上编辑备份文件和一些补丁文件。

2.error C2039

exit is not the member of the 'std'

http://support.microsoft.com/kb/243444/zh-cn

// Compile Options:  /GX
namespace std {
#include <cstdlib>
};

void main()
{
     std::exit(0);
}

I have researched this issue on the web and it seems like it is something that has been an issue for a lot of people. The solution to this is as simple as removing a comment.

I looked through the stdlib.h file, and found the the following line was commended out:

_CRTIMP __declspec(noreturnvoid __cdecl exit(__in int _Code);

I took out the comment and recompiled it ... and now it works.

I believe in some builds the stdlib.h file will automatically be compiled with that portion of the code commented out. simple uncomment and your code will work.

有人介绍的原因

This definition conflicts with other definitions of exit found in various libraries used in other environments besides that of Microsoft Windows.

So it sometimes gets commented out.  People forget to uncomment it later when they link to some other library.

3.输入输出重定向

http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html

4 关于g++ "memcpy" was not declared in this scope.使用如下2行即可
#include<iostream>
#include <cstring>

http://blog.sina.com.cn/s/blog_5380119c0100wlbn.html

5关于错误free is not declared in this scope

#include <stdlib.h>

#include <cstdlib>

6. 关于错误GeoObjects/rotationmatrix.cpp 

exit was not declared in this scope

7. leaving directory 问题解释

1、Entering/Leaving driectory
  这个不是错误,而是打印当前正在编译文件的路径。

2、Nothing to be done for ...
  这个也不是错误,而是说明这个目标文件已存在了,也就是说LZ以前应该编译过了。(makefile如果是手写的话,可能会因为写错了命令,导致出现这个问题;如果是用工具生成的话,那么应该不会是makefile的问题。)

LZ可以试一下先输入  
# make clean

或手工删除要生成的文件,然后再重新make一下。

8.另一个开源的开发Monoslam的开源软件平台

http://jde.gsyc.es/index.php/Main_Page

jderobot

9. 关于编译VW 34 库时候出现的VW:Point3D operator+ and /()should have been decarade

在GeomObjects/point3d.h point3d.cpp

解决办法:http://stackoverflow.com/questions/888383/cannot-make-vw34-oxford-active-vision-lab-libraries-in-ubuntu-8-0-4


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值