×

boost拷贝文件

boost拷贝文件(boost 获取文件大小)

admin admin 发表于2023-04-01 09:12:09 浏览47 评论0

抢沙发发表评论

本文目录一览:

如何在XCode中配置Boost库

话说boost在xcode5上的安装确实很费劲,参考实验了相当数量的文章后,终于成功在IOS模拟器上跑通了boost库,废话少说,上步骤

1. 下载boost.sh安装脚本,这里选择的是payco的安装脚本, ,最简单好用。也可以在csdn上我的代码中下载,

2. 打开终端,su成root,命令为 sudo su,输入密码即可

3. 清理掉所有之前安装的配置,尤其是在用户目录下的user-config.jam,必须删除掉,之前安装的文件也一并删除掉,免得影响。(本人就是没清理之前的配置,导致一直编译不通过)

4. 把boost.sh 拷贝到/usr/local 下,运行之,会自动下载,解压,配置,编译boost。

5. 等待编译安装完毕后,显示 Completed successfully,boost库即安装完毕

完成了一半,剩余的工作就是配置xcode5,其他版本的xcode也是大同小异,没有什么区别的。

6. 在xcode下的target-》Building setting- Linking- Other Linker Flags中,添加 -lboost_system -lboost_thread,这两项(常用的功能都包含在这2个库中,还有其他要使用的功能,都在这里添加库文件)-boost拷贝文件

7. 在在xcode下的target-》Building setting-Search Path s 中,Header Search Path 添加/usr/local/ios/prefix/include-boost拷贝文件

8. 在在xcode下的target-》Building setting-Search Paths 中,Library Search Path 添加/usr/local/ios/prefix/lib(这是给真机用的,包含arm6,arm7,arm7s等),以及/usr/local/ios/build/i386(这是给模拟器用的),基本都在一个位置上,截取一张图好了-boost拷贝文件

添加完毕之后,测试一下编译是否成功。

在任意一个cpp文件内,添加

#include "boost/swap.hpp"

#include "boost/asio.hpp"

编译无报错,则顺利完成boost库在xcode5下的IOS使用编译:)

安装软件的时候提示说计算机中丢失boost thread.dll

一般是system系统目录或放到软件同级目录里面。

第一步:您从我们网站下载下来文件之后,先将其解压(一般都是zip压缩包)。

第二步:然后根据您系统的情况选择X86/X64,X86为32位电脑,X64为64位电脑。 如果您不知道是X86还是X64,您可以点此链接检测。

第三步:根据软件情况选择文件版本。此步骤比较复杂,如果是Windows的dll文件,

版本号以5.0开头的或含有 nt 一般是windows2000的文件。

版本号以5.1开头的或含有 xp、xpsp1、xpsp2、xpsp3 信息的一般是windowsXP的文件。

版本号以6.0开头的或含有 longhorn、vista 信息的一般是windowsVista的文件。

版本号以6.1开头的或含有 win7 信息的一般是windows7的文件。 如果不是windows的dll文件,则需要灵活查看版本号、描述、网友提供的信息、以及相关dll的版本号去判断。

如果实在无法判断,则把每个版本的dll文件拷贝到对应目录(可以在我们网站上文件详细页面查看到)或 C:\Windows\System (Windows 95/98/Me), C:\WINNT\System32 (Windows NT/2000), C:\Windows\System32 (Windows XP,Vista,7) , 去尝试。 -boost拷贝文件

至此如果问题依旧,您可能需要使用regsvr32,方法如下: 1.单击开始,选择运行 2.输入 regsvr32 文件名.dll 并按下确认 之后会弹出注册成功信息。

用c++编写程序实现复制、粘贴、剪切、删除等操作

复制、粘贴、剪切、删除

这些东西都是功能表现层面的,具体怎么实现看你了

参考:

1。针对数据。主要通过剪贴板完成

这种情况下需要操作和剪贴板相关的API函数

2。针对文件。使用文件API函数完成即可。

比如CreateFile,CopyFile,DeleteFile,CreateDirectory, RemoveDirectory等,剪切实际就是复制+删除

粘贴其实就是复制信息,在开发过程中实际是没有这个概念的

具体涉及到的知识:

1。C++开发语言。这是最基础

2。剪贴板相关API函数调用

3。文件/文件夹操作相关API函数

4。或者可以使用第三方封装好的库,比如boost.filesystem等

其实楼主问的是实践层面的东西,有了基础知识就够了,剩下的就是应用总结了,毕竟这些只是调用相关接口,就像cin,cout一样,不涉及设计相关的东西,所以难度不高。

如何在ubuntu下配置boost

这里有两种安装方法:

=============

第一种:

也是最简单的:进入linux系统后,输入

# apt-cache search boost

你将看到很多文件信息,你会看到其中一个文件叫 libboost-dev, 直接安装此文件即可:

# apt-get install libboost-dev

这样就安装成功了。这个速度很快,是因为直接拷贝了lib文件到系统。

可以使用本文最后代码测试安装成功与否。

==============

第二种:

这个速度比较慢,因为需要自己编译出lib库。

首先下载boost库从这个网站下载linux的boost库,有2种格式,1) .bz2 2) .gz

我下的是gz结尾的。放到linux的文件系统里,这里假设为/usr/local/boost_1_52_0.tar.gz

第一步:解压压缩包,命令如下,(#号仅为起始标记作用,敲命令时忽略):

# cd /usr/local/

# tar -zxvf boost_1_52_0.tar.gz

第二步:解压后得到文件夹boost_1_52_0,运行如下命令:

# cd boost_1_52_0/

# ./bootstrap.sh //这个命令类似于配好环境

第三步:运行二步命令后得到一个文件,名字是bjam,运行这个文件:

# ./bjam //这里需要十几分钟,完成后就代表安装成功了。

第四步:检验安装成功否:在linux下任意目录下创建test.cpp

#include

#include

int main()

{

int a = boost::lexical_cast("123456");

std::cout a return 0;

}

这是一个字符串转化为整数的简单程序

运行命令:

# g++ test.cpp -o test

# ./test

将得到输出结果为:123456

代表boost安装成功,就可以尽情使用boost的美妙了!!!

怎么在ubuntu上安装boost1.58

安装好ubuntu14.04之后,下载boost、qt、osg的库,进行编译

1.boost

参考

boost提取出来以后,先./configure,生成b2

这里b2好像就是对应1.40以前的bjam,都是boost自己的编译程序。

再执行./b2 link=static runtime-link=static variant=debug,release

layout=versioned stage --stagedir="/home/username/boost_1_58_0/bin/gcc"

threading=multi

这个命令是个大概的格式,具体可能有些拼写符号有误,主要就多说几点。一个是link和runtime-link,link是在编译期间,是选择

static还是shared,如果是static,那么boost库在编译完成后,会绑入输出的程序,如果是shared,那么需要放在代码目录下,供

引用。runtime-link则是在程序发布之后,如果启动运行,调用boost库的方式,如果选择shared,那么不但需要把编译输出的文件给客

户,还要给他一堆依赖的动态链接库。

variant是以什么方式输出,如果既想要debug 又想要release,那么就用逗号连接。

但是,如果同时输出debug,release,会产生命名冲突,必须指定layout=versioned,这样debug和release出来的库的名字才不会冲突。

stage编译的话,编译完成后,所有的库文件都会被输入指定的stagedir里面,而include文件本身就在boost_1_58_0下面

的boost文件夹中。不需要再执行make

install,install的作用会把所有生成的库拷入/usr/local/lib里面,/boost_1_58_0/boost也会拷入/usr

/local/include 里面,有点多余

但是stage方式编译的话,在每次生成依赖boost库的程序的时候,需要用-I在指定inlucde路径。可以通过在环境变量文件里面指定环境

变量,然后g++编译的时候,指定这个环境变量。关于环境变量参考了这篇:

/article/details/8513365

比如我有一个调用boost库的代码文件hboost.c,在/home/username/.profile文件里面指定了

BOOST_ROOT,重启生效。编译的时候 执行 g++ -I$BOOST_ROOT hboost.c -o

hboost,就可以输出编译结果,再运行./hboost就可以看到程序运行的结果了。

2.qt

qt其实比较简单,直接进入解压到目录,./congfigure;make;make install三个步骤就可以了。不过由于我要用osg 利用qt的库编译osgQT所以这里有个坑。

首先,为什么选择QT4.8,这是因为它是QT5.0以下的最新版。为什么不用QT5呢,因为据osgChina里面的大牛说,好像QT5在osg

里面进行多线程方面有bug。具体参考这些帖子,;

amp;tid=13908highlight=qt5

;tid=12703highlight=qt5

其次,为了最后能生成osgQT,需要编译QT的GLWidget等相关类,所以需要在本机上安装opengl。开始的时候参考这篇文章

.但运行命令的时候总是告诉我

依赖有问题。于是看到有人说需要更新源(;

t=468366),就又找到了这篇文章

%A8#Trusty.2814.04.29.E7.89.88.E6.9C.AC。这下就全都妥了。

然后进入qt解压目录,做./configure -static -debug-and-release -no-sql-sqlite

-no-sql-sqlite2 -no-sql-sqlite_symbian

-opengl生成静态库。注意,那几个no-sql的选项,如果不带的话,会在下一步make的时候,报

qt_plugin_instance_qsqlite

unresolve之类的错误(-

static-problem-under-Linux(ubuntu))。-opengl选项,会让configure自动去默认路径寻找opengl

相关的依赖,如果你的opengl安装的位置不对,他会要求你自己指定其他的位置。

3.osg

osg默认是用cmake来编译的,所以应该先用apt-get把cmake

cmake-gui搞下来。在编译的过程中发现,如果本机的依赖库有问题,有可能会导致编译或者链接失败。一个比较偷懒的办法提供给大家。首先,请先更新

你linux的源,之后apt-get build-dep

openscenegraph,这个命令在我这里下载了几十兆的依赖库。然后进入到osg的解压目录,然后把makefile.txt拖进gui,点击

configure,勾选group、advanced。如果要编译Debug那么先把cmake组里面的参数build

type(似乎是这个选项)写Debug,build组里面的compile

example勾选。然后再点击一次configure,再点generate。理论上依赖库应该是没问题的,因为我们apt-get了那么多依赖库对

吧。

然后终端里make,如果报错,如果报错是和某个依赖库有关的,那么就重新打开cmake-gui,把那个依赖库选项下的include、library全部删掉,再重新生成,然后再重新make。如此反复,最终一定会生成一份可用的osg。-boost拷贝文件

当然也可以不下载依赖库,直接把QT和opengl在默认路径下准备好,如果这样的话其实更简单,直接终端里面运行./configure就行了,

自动会以release方式cmake出makefile,如果想要Debug方式,那就改一下configure文件。然后make,一般不会有问题。

make结束之后,所有生成的文件会位于解压文件夹里的bin、lib、inlcude里,把这些拷贝出来,放到另外一个文件夹比如build,然

后把下载到的data文件夹,里面包括那个牛、滑翔机和卡车等等经典的模型,也放到这个build里面,设置一下环境变量,osg应该就可以用了。

设置有关环境变量的问题,需要设置两个或者三个环境变量。如果在执行完make之后,再执行make

install,那么只需要设置OSG_FILE_PATH指定data文件夹的位置,并在PATH中指定bin文件夹的位置(这样可以运行

osgersion,osgiewer这些编译时附送的应用)。make

install会把include和lib文件夹拷入usr/local下的include、lib文件夹。但是如果没有执行make

install,那么需要设置第三个环境变量,那就是LD_LIBRARY_PATH,我的分发版是ubuntu

14.04,sudo gedit /etc/environment打开配置文件,添加export

LD_LIRARY_PATH=$LD_LIBRARYPATH:path to lib然后在终端里执行source

/etc/environment。这样做是因为在执行osgiewer的时候,如果要读入cow.osg文件,osg需要lib文件夹下的plugIn

文件夹里的插件来读取对应格式的文件。由于我我们没有执行make install所以就需要告诉osg,这个lib文件夹到底在哪里

不得不说,我的osg生成的还是有问题,freetype总是用不了,字体显示上有些蛋疼。后来很仔细的把cmake里面的有关freetype的

地址都指定了,也输出osgdb_freetype.so了,但使用的时候还是出现undefined

symbol错误。先不打算搞了,起码现在主要功能都能用,字体的事先放一放。