然而朱元璋只是暂时肯定了应天作为京师的地位,并没有正式确立国都。作为自己成就霸业的地方,朱元璋为何不肯确立应天为国都呢?首先,朱元璋觉得以应天为国都的历朝都是气数不久,似乎不太吉利。其次,有些大臣认为"有天下者,非都中原,不能控制奸顽",明南京聚宝门藏兵洞
而且应天偏处江左,在位置上作为国都不是十分理想。三月,朱元璋派兵攻取汴梁。许多人建言定都汴梁。朱元璋很重视,于四月亲自前去实地考察。他认为汴梁虽然位置适中,但是无险可守,四面受敌,论形势不如应天。八月,朱元璋正式下诏,以应天为南京,汴梁为北京。朱元璋既然对汴梁不甚满意,为何又要定为北京呢?原来他考虑到汴梁是宋朝的旧都,北上征讨元朝时可以唤起北方民众的民族情感,有很大的号召力;而且当时西北未定,需要将汴梁作为运送粮草和补充兵力的基地。