您的位置:首页 > 其它

合并别人的工程与遇到的一些问题

2013-05-31 17:13 190 查看
作为一个菜鸟,每天都有可能会被派去看别人写的代码来学习,问题来了,如何搭建好代码运行的环境呢?你不可能直接拷贝别人已经运行好的环境,因为你有自己写的代码和相应的运行环境.这里我再稍微提一下,我现在开发的项目大体可以分为3个层次:

1)APP即应用层或者叫UI界面吧

2)Engine引擎

3)最原始的数据,主要是一些词库

所以你拷贝了别人的Engine层,你要试着去跟你UI相互衔接.

在共同的框架下,如何合并别人的写好的程序?我觉得有几点:

1.首先要先查看别人的代码和自己本地代码的区别,用Compare软件比较一下,大体做到心中有数,哪些地方变了,哪些地方没有变.

2.合并文件夹,别人有的文件我本地没有的自然会被加进去,如果有重名的文件,系统会提示你,是否替换原来的文件.如果替换了工程(.vcproj),则很有可能要改变相关的include路径,因为别人工程里include的路径跟你本地代码路径会不一样.下面会讲到.合并好后,最好先关掉vs2005,然后重新打开.

3.代码合并好后,最好先整体clean一下,然后重新build,这时会出现一些问题,基本上是include路径没有设置好,在相应的工程里加进去就行了.不断试着修改,直到没有错误.

出现的一些问题:

A.entry point must be defined 或者是main已经在XXX.obj中已经定义了.这是因为你从别人那儿拷贝的工程中有设置为控制台的启动入口函数,比较拗口,简单来说,就是有两个main函数,我们知道程序只能有一个入口函数,所以你要做相应的改变,如: 1.在工程名字上右键,选择property->Linker->Advanced->No Entry Point:选择YES
2.property->Linker->Systm->SubSystem:Windows --->这个是你写VC程序时设置的,控制台的就是Console. 3.我偶然发现把其中一个main改成Main也行!

B.有时遇到文件的路径,比如"./XXX/XXX"这按理说应该是在当前文件夹下的目录,但是你还是要找到你的正在执行的工程的那个目录的路径下,还是比较拗口,只能慢慢体会.

C.还有会遇到什么external function XXX...一连串并且指定到相应的文件中的函数无法处理之类的,一般可能就是在工程中没有把这些文件include进来,你根据这些文件找到相应的工程,然后在这些工程中把他们add进来,再重新编译一下,试试.

暂时这么多,以后还会补充...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: