使用 c++ 与 subverison 编写 Commiter 小工具 提交 xxx.xml文件中指定的文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liufangwuxiangci/article/details/47810961

                                          Summarize Commiter  Experience

Q&A

1.   初次将VerifyTool 代码从svncheckout 到本地目录,使用vs2013打开,编译不成功, 显示有 诸如 “_in_” 字样的报错。

这个问题纠结了挺长的时间,后来才意识到,因为之前安装了vs2005,并在其Executable files, include files 及 Library files 中添加了 WinDDK7.1的相关依赖和库, WinDDK7.1中的文件中的某些定义与后来vs2013中包含的文件的定义有冲突。之后安装vs2013,其将vs2005的这些依赖库也作为parent继承下来。因此,只需要将 WinDDK7.1的依赖去除就可以。可是, 在vs2013中,不知道如何去除这些依赖。

2.   如何去除vs2013中继承与parent的依赖包含文件路径?

参考http://www.cnblogs.com/hwangbae/archive/2012/06/24/2560463.html

找到安装vs2013目录下的Microsoft.Cpp.Win32.user.props 文件,默认安装的路径是:

C:\Users\<user>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props ,

修改这个文件中关于你需要去除的依赖路径。

3.   VerifyTool解决方案包含3个工程,Commiter 是其中一个, 在引用同一个解决方案下别的工程的文件时总是提示找不到stdafx.h头文件。

Commiter工程初始创建时是个win32控制台程序,这里引用别的工程文件时,需要使用到mfc 共享库,设置的方法是,点击工程右键Properties->ConfigurationProperties- >General->Useof MFC,选中USEMFC in a shalled dll.

4.   Build工程时总是提示”xxx.pch”缺少

这是预编译的问题,之前看到这方面的知识,没领悟透。当时是点击工程右键属性->

ConfigurationProperties->c/c++->Precompiled Headers->Precompiled header 选中Create(/Yc),这样问题是可以解决,但是没有体现预编译头的作用。正确的方法是在 SolutionExplorer选中当前工程下stdafx.cpp,右键properties->ConfigurationProperties->c/c++->Precompiled Header ->Precompiled Header 选择 “Create(/Yc)’.

5.   程序存放在超过2级目录事,在命令提示符下给定参数启动程序后,svn 返回 “svn: E155010: The node ‘xxxx’ is not found.”

这是因为在cmd 以 space 分割参数, 代码中给svn发送的commit的msg 参数中包含space, 这个msg 够着命令时需要加引号。

6.   svn: E170009: Repository UUID 'xxxx' doesn'tmatch expected UUID 'xxxx']

将workcopy 目录删除后 重新checkout 新目录。或者 使用”svnlookuuid Repos”

查看Repository UUID,然后用”svnadmin setuuid Repos_path [new_UUID]”命令设置,使用svnlook, svnadmin命令时,当前目录必须是svn服务器设定 Repository 目录

阅读更多

没有更多推荐了,返回首页