磨刀不误砍柴工
被VS一次次玩弄,我决心一定要写一篇随笔来记录一下,以便日后回忆起来让自己时刻保持一颗谦卑之心去学习!
先举个栗子,引出今日的话题。比如我们想要登上山顶,攀登固然重要,但是别忘记了在开始攀登之前先备好粮草,做好安全设施。在我看来,这些前提条件更为重要,因为每一个前提条件的不足,都有可能导致最终的失败。
然而作为一只程序猿,每天在VS里打滚,对于我来所,每一个前提条件的缺失,必将引出BUG,引领整个项目走向Error。所以,今日我要记录一下编译一个项目的前提条件,时刻警醒自己,别再被VS玩弄。【心痛,吐血】
【1】 拿到一个项目,下载源码(保证下载齐全),原封不动。
【2】搞清楚前提,编译之前需要运行什么其他的文件(比如各种批处理文件等【注:有些项目版本不一样,批处理文件也有可能不一样,最重要的是,他们的运行顺序也有可能不一样,所以,当自己不清楚时,去问清楚再动手】)。
【3】弄清楚项目的依赖关系,一个项目下面可能不止有一个工程,比如分为组件工程,professional.sln等等,那么就需要先编译组件工程,再编译主工程。编译顺序很重要。
【4】打开工程,先别急着“生成解决方案”,先看VS的配置(这里是永远的痛点),要根据项目的需求来进行查看,比如:编译模式(debug OR release),编译平台(Win32??), 项目属性(C++ ,连接器, 生成事件等等)
【5】设置启动项(很重要)
【6】生成解决方案
【7】如果出错了,根据出错信息再去找解决办法。
大致也就这些步骤,以后若再遇到问题,也会持续更新!
磨刀不误砍柴工,从小听到大,但遇到问题依然忘记了这个道理,“意识”真的很重要!被VS戏弄的一幕幕,记录下来,愿与君共勉~共同成长~
错误记录:
【1】编译模式类
错误 751 error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall