如何使用libstrophe建立一个jabber客户端
我正在尝试使用 libtrophe library 到目前为止,它进展顺利,除了我需要一些澄清的一件事. 也就是说,我应该如何(连续)知道联系人的状态(即在线/离线),以便我可以向程序的用户显示它?同样,我应该如何请求用户的名册? 我已经查看了Librophe提供的roster.c示例,但这只能打印出阵容一次.在真实的应用程序中,我需要连续请求/更新此信息,以便在应用程序中显示用户添加的任何新联系人. 基本上,我尚不清楚如何确保我始终在用户的联系人列表中显示最新的名册和最新状态. 我只是应该在某个预定义的时间间隔内要求名册吗? 解决方案 名册和存在是2个不同的主题. 登录时,通常会要求您已经在做的名册.当您的联系人列表在会话期间更改时,您会在更新的联系人中获得名册推送.这是一个节.是否有其他登录客户操纵我们的客户的名册都没关系. 在线状态称为所有订阅联系人的存在与节. 您必须使用 xmpp_handler_add 设置处理程序
0 2024-04-09
编程技术问答社区
当长度大于2G时,Lion上的Fread无法读取。
由于MacOSX Lion壁板没有读取长度> 2G(int size,2'147'483'648字节)的文件. 它与MacOSX Snow Leopard合作了多年. 我编写了一个程序来测试它: #include #include #include int main(int argc, char *argv[]) { FILE *fin = NULL, *fout = NULL; char *ptr = NULL; size_t len; fpos_t flen; if (!(fin = fopen(argv[1], "rb"))) { printf("The input file: %s could not be opened\n", argv[1]); return -1; } if ((fout = fopen(argv[2], "rb"))) { printf("The
2 2024-04-08
编程技术问答社区
在Mac OSX Lion上编译时,C-Undefined symbols for architecture x86_64的符号。
我在编译非常简单的名称时遇到了一些问题.C在Mac OSX Lion上的文件. 现在,我开始关注CS50.NET上的哈佛CS50课程.我对编程并不陌生,但我对这门课程的教学方式感到好奇. 这是名称的来源.C: #include #include int main(void) { printf("State your name:\n"); string name = GetString(); printf("O hai, %s!\n", name); return 0; } 如您所见,它需要此库: a>. 现在,当我编译时,这会发生: Undefined symbols for architecture x86_64: "_GetString", referenced from: _main in name-vAxcar.o ld: symbol(s) not foun
0 2024-04-07
编程技术问答社区
符合ANSI C标准的实现可以在其标准库中包括额外的函数吗?
是否允许使用ANSI C兼容的实现,超出标准列出的标准库中包含其他类型和功能? (理想的答案将引用ANSI标准的相关部分.) 我特别问,因为Mac OS 10.7在使用 flag的getline函数.这打破了几个定义自己的getline函数的旧程序.这是Mac OS 10.7的错吗? (Mac OS 10.7上的getline的人页面说getline符合Posix.1标准,该标准在2008年.) 编辑:要澄清,我觉得很奇怪的是,在Mac OS 10.7上的ANSI C89程序中包括stdio.h也可以吸引getline函数的声明,因为getline不是列出的函数之一stdio.h的K&R(大概是ANSI)的描述.特别是,尝试编译 noweb : gcc -ansi -pedantic -c -o notangle.o notangle.c In file included from notangle.nw:28: getline.h:4: error: confl
0 2024-04-06
编程技术问答社区
Lion 10.7.3:苹果目前不接受用这个版本的操作系统构建的应用程序。
我在狮子10.7.2上运行Xcode 4.2,我有一些需要更新到狮子沙盒的应用程序,因此我可以将它们重新提交到Mac App Store(Mac,而不是iOS).一路上的某个地方,我有一个弹出窗口更新到组合更新10.7.3,之后一切都出错了. 验证和提交应用程序如果在10.7.2中编译了档案,则可以使用该应用程序,但是如果在10.7.3更新后进行了编译,则无法再验证该应用程序.没错,在10.7.3以下,如果应用程序是在升级之前编译的,我仍然可以验证它们.在此之后编译的任何内容都会给我这一点: "此捆绑包无效.苹果当前不接受此版本的OS构建的应用程序." 进行以下每项尝试之后,我已经清洁,重建档案,并再次尝试通过Xcode组织者和应用程序加载程序独立验证或提交应用程序: 我尝试通过完成一个完整的卸载,尝试升级到Xcode 4.2.1, 重新启动并安装,但什么都没有. 我阅读/a>并尝试使用新应用程序 装载机2.5.1,并确保没有其他应用程序加载程序 该系统,但
0 2024-04-05
编程技术问答社区
Python 2.5.6在Mac Lion上的构建错误
这是我想做的. 与mysql一起使用web2py. 要这样做,我需要使用源web2py而不是web2py.app 要使用web2py,我需要python 2.5 我在构建和安装Python 2.5 方面遇到困难 我从Python发行页面下载了Python-2.5.6.tgz. 现在,我做了 ./配置 ,然后 make 然后,我会收到以下错误. gcc -c -c-fno-strict-saliasing -wno-long-double-cpp-precomp -mno -fused -madd -dndebug -g -fwrapv -o3 -wall -wstrict -prototypes -i. -iinclude -i./include -dpy_build_core -o模块/python.o ./modules/python.c.c CC1:错误:未识别的命令行选项 " -wno-long-double" Make:* [模块/
0 2024-04-04
编程技术问答社区
如何在MacOSX Lion上构建pHash(使用最新的ffmpeg-devel)。
在OSX上构建phash 0.9.4可能会很棘手. 对于那些遇到问题的人,我下面有些漫长的答案可能会有所帮助. 解决方案 确保您已经完全更新了Macports.这意味着最近的Xcode,以及内部Xcode首选项 - > docoldings->组件安装命令行工具! $ sudo port selfupdate # if you've had previous build issues: $ sudo port clean --all # get pHash wget http://www.phash.org/releases/pHash-0.9.4.tar.gz tar zxvf pHash-0.9.4.tar.gz cd pHash-0.9.4 # remove old versions of ffmpeg, e.g. $ sudo port installed ffmpeg $ sudo port uninstall --follow-dependents f
0 2024-04-04
编程技术问答社区
在shell提示符下显示git分支?
我正在尝试获取我的壳提示以显示当前的git分支名称. 我已经阅读了一些教程和博客文章等.据我所知,我做了正确的事情,但似乎没有用. 我希望提示看起来这样: dannys-macbook:hillcrest-store [master]$ ,但目前看起来像这样: dannys-macbook:hillcrest-store danny$ 我已将以下内容添加到〜/.bash_profile: PATH=$PATH:/usr/local/bin; export PATH COLOR1="\[\e[1;32m\]" COLOR2='\[\e[1;1m\]' COLOR3='\[\e[m\]' GIT_STATUS=$(__git_ps1 " %s") PROMPT_CHAR="$" PROMPT="${COLOR1}\u@\h${COLOR3} \w${COLOR2}${GIT_STATUS} ${COLOR2}${PROMPT_CHAR$ PS1="
0 2024-04-03
编程技术问答社区
在OSX上使用LLVM的boost::program_options的链接问题
由于BOOST 1.49的问题,我在C ++程序中的链接阶段很难.我已切换到C ++(-std=c++11 -libc=libc++),该C ++(-std=c++11 -libc=libc++)适用于另一个代码(也使用Boost).使用Homebrew安装了Boost: brew install boost --universal --with-mpi --with-icu 麻烦始于boost::program_options.我得到这样的链接错误: "boost::program_options::validate(boost::any&, std::__1::vector, std::__1::allocator >, std::__1::allocator
0 2024-04-02
编程技术问答社区
-bash 没有这样的文件或目录,但它存在
我已经用ruby标志重新编译了command-t的vim,我编写了一个脚本,该脚本将在我介入的任何机器上自动执行此操作(并运行脚本),但是我的问题是我遇到的是,当我别名新汇编的vim时,bash向我抛出了没有这样的文件或目录.这是我所拥有的: 这很好: $ alias v="~/Code/vim" 但是,当我将同一条线放在.bashrc中时,我得到了: -bash: =~/Code/vim: No such file or directory 甚至更有趣,我将其放在.bashrc中: [ -e "~/Code/vim" ] && echo "found it!" 打印"找到它!" 我不确定这是否是一个权限问题,但无论如何我都会把它们放在这里: -rwxr-xr-x 1 buf staff 2374400 Sep 17 16:27 /Users/buf/Code/vim 我在做什么错?我正在运行Mac OS X 10.7 解
0 2024-03-28
编程技术问答社区
我如何对每个ping结果进行时间标记?
ping ping 64 bytes from 203.173.50.132: icmp_seq=0 ttl=244 time=57.746 ms 有什么方法可以添加时间戳? 例如, Mon 21 May 2012 15:15:37 EST | 64 bytes from 203.173.50.132: icmp_seq=0 ttl=244 time=57.746 ms 我在OS X V10.7(狮子)上似乎有一些 bsd ping的版本. 解决方案 在OS X上您可以简单地使用-Apple-time选项: ping -i 2 --apple-time www.apple.com 产生的结果: 10:09:55.691216 64 bytes from 72.246.225.209: icmp_seq=0 ttl=60 time=34.388 ms 10:09:57.687282 64 bytes from 72.246.225.209: i
0 2024-03-28
编程技术问答社区
我如何让git使用Textmate作为我的默认编辑器?
在命令行中,如果我做mate 它将在文本成员中为我打开正确的文件. 但是当我这样做时: $ mate -v open: invalid option -- v Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b ] [-a ] [filenames] [--args arguments] 另外,当我做git commit时,我看到了: $ git commit error: cannot run mate: No such file or directory error: There was a problem with the editor 'mate'. Please supply the message using either -m or -F option. 我的~/.bashprofile有这些行: #
8 2024-03-28
编程技术问答社区
OSX中的Bash管道提示未找到命令,有时会出现这种情况
OSX终端: du -h | sort -nr -bash: sort: command not found which sort /usr/bin/sort 很奇怪的是:我尝试重现错误,并且似乎是完全随机的.我的道路回荡: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/sytycs/.rvm/bin 这仅在管道时发生并且发生在grep,more,less等时发生. 知道是什么原因造成的? 解决方案 该空间不是空间.擦除并更换它. 其他解决方案 这可能会发生这种情况,因为您使用了带有非US布局的键盘布局(我也发生在我身上).在德语布局上,该管道用 alt + 7 键入,因此很可能按下 alt alt + space 之后,将产生 nonofollow noreferrer"> nonforking nor
2 2024-03-27
编程技术问答社区
sudo: port: 未找到命令
我最近卸载了Xcode 4.2并重新安装Xcode 4.3.1.命令行工具已安装.然后,我使用Macports.org的狮子使用" DMG"磁盘图像安装了Macport.由于,每次使用端口后,我都会得到sudo: port: command not found,因此我关注 this 和此帖子创建一个.bash_profile文件(不在之前出现),然后将其放入以下内容,但无济于事. export PATH=$PATH:/opt/local/bin export MANPATH=$MANPATH:/opt/local/share/man export INFOPATH=$INFOPATH:/opt/local/share/info 以下这篇文章 ➜ ~ git:(master) ✗ rvm install 1.8.7 --with-openssl-dir=/opt/local You requested building with '/usr/bin/gcc-4.2' b
2 2024-03-27
编程技术问答社区
如何解决OS X Lion上终端无法加载~/.bashrc的问题
每当我使用 cmd + t 打开终端中的新选项卡时,它将在同一目录中打开bash,与上一个标签.当我在~目录中时,这正常工作,但是如果我在其他任何地方,我会得到错误加载.bashrc Last login: Sat Oct 15 21:10:00 on ttys002 -bash: .bashrc: No such file or directory Jakub-Arnolds-MacBook-Pro:projects darth$ 看起来.bashrc是通过相对而不是绝对路径加载的,因为如果我做source ~/.bashrc,一切都可以顺利进行. 我认为这是一个与OS X相关的问题,因为在Snow Leopard的升级之前,我没有同样的问题.但这可能是由于终端总是在~上打开而引起的,我不记得它是否试图打开同一目录. 但是,这个问题保持不变,如何通过绝对路径进行终端负载~/.bashrc,而不是相对? 解决方案 终端打开登录外壳.这意味着,~/.bash
0 2024-03-27
编程技术问答社区
为什么cURL会返回错误"(23)写入正文失败"?
它可以作为单个工具运行: curl "someURL" curl -o - "someURL" ,但它在管道中不起作用: curl "someURL" | tr -d '\n' curl -o - "someURL" | tr -d '\n' 它返回: (23) Failed writing body 管道卷曲输出有什么问题?如何缓冲整个卷曲输出然后处理? 解决方案 这会在上一个程序完成整个页面之前关闭读取管道时,就会发生这种情况. . 在curl "url" | grep -qs foo中,一旦Grep拥有所需的东西,它将关闭卷曲的读取流.卷曲不会期望这一点,并排出"写作失败"错误. 解决方法是通过中介程序将流进行管道,该程序在将整个页面馈送到下一个程序之前始终读取整个页面. ,例如 curl "url" | tac | tac | grep -qs foo tac是一个简单的UNIX程序,读取整个输入页面并逆转行顺序
8 2024-03-27
编程技术问答社区
如何在Mac OS X上使用AVX/pclmulqdq
我正在尝试编译使用新英特尔处理器中存在的PCLMULQDQ指令的程序.我已经使用Macports安装了GCC 4.6,但是当我编译程序(使用内在的_mm_clmulepi64_si128)时,我会得到 /var/folders/ps/sfjmtgx5771_qbqnh4c9xclr0000gn/T//ccEAWWhd.s:16:no such instruction: `pclmulqdq $0, %xmm0,%xmm1' 似乎GCC能够从乐器中生成正确的汇编代码,但是汇编器不识别指令. 我已经使用Macport安装了Binutils,但是问题仍然存在.我怎么知道哪个汇编器GCC正在使用? Xcode Assembler可能不支持它,但是Binutils汇编器应该. 解决方案 一个更简单的解决方案为我解决了这个问题,就是将-Wa,-q添加到编译器标志中.来自as的人页(版本1.38): -Q 使用clang(1)集成的汇编程序,而不是基于GNU的系统汇
2 2024-03-21
编程技术问答社区
准确地寻找,而不是短两秒,在AVPlayer中
我正在一个可可应用中使用Avplayer,并且我已经实现了一个跳到视频末尾的命令. 问题是,Avplayer并没有寻求我告诉的地方. 例如,我拥有的视频之一是4分14秒.当我寻求结束时,Avplayer的目标是4分12秒,短短秒.如果我打球,玩家将玩两秒钟,然后到达末端. 我的第一个尝试是: [self.player seekToTime:self.player.currentItem.duration]; 我已经将其切换为: [self.player seekToTime:self.player.currentItem.duration toleranceBefore:kCMTimePositiveInfinity toleranceAfter:kCMTimeZero]; 一个人都没有比另一个更好的工作. 我也尝试寻求kCMTimePositiveInfinity.那只是忽略了我. 播放器是否已经加载了
2 2024-03-21
编程技术问答社区
Automator或Applescript,检测文件夹中的一个新文件
我正在尝试编写可以在某个指定目录中检测新文件的内容.我最好希望这个脚本继续无限期地运行,每当我看到一个新文件时,我都可以复制它并将其移动到其他地方.我知道这是可能的,因为Dropbox会这样做,但是我只是不知道如何使此工作或从哪里开始.有什么想法吗? 解决方案 您要寻找的内容(将新文件添加到"热点文件夹"中时要产生AppleScripts)称为"文件夹操作",并且可以在线找到许多教程您朝正确的方向. 例如,这是一个:" applescript:探索文件夹动作的功能,第一部分" 其他解决方案 这是文件夹操作的另一个示例.您应该将脚本保存在〜/library/脚本/文件夹操作脚本中. on adding folder items to theFolder after receiving theFiles -- This should make the folder action wait until large files have finish
2 2024-03-21
编程技术问答社区
基于视图的NSTableView EXC_BAD_ACCESS on Lion with ARC
这很奇怪.我有一个超级简单的项目来学习NstableView,并且在我的笔尖中设置为基于视图的表观视图.我还将数据源设置为我的控制器OBEJCT. 但是,当我执行此操作时,我会得到一个exc_bad_access,并且在我的主要功能中启动跟踪,其余的堆栈是可可的内部(所以不是我的代码). 除了这个项目使用弧线以外 我还尝试使用分析仪来确保我在任何地方都没有做不当的内存管理,并且没有任何问题. 如果我不设置数据源/委托,我不会崩溃,但是显然,这不是构建我的应用程序的好方法! 有什么想法? 编辑 IB中都设置了代表和数据源.代码如下(基于视图).重要的是要注意,无论是否存在此代码,我都会崩溃,无论哪种情况,这都是同样的崩溃: - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { return 5; } - (NSView *)tableView:(NSTableVi
0 2024-03-21
编程技术问答社区