如何影响Visual Studio 2010中的C ++编译顺序

时间:2012-08-08 13:10:08

标签: c++ visual-studio-2010 visual-c++ compilation

好的,我应该先给出更多的背景信息。我正在研究在Visual Studio 6中开发的遗留C ++解决方案,因为我不喜欢Visual Studio 6 UI,我已经使用Daffodil扩展切换到带有VC6编译器的传统解决方案的Visual Studio 2010,同时仍在工作和调试在Visual Studio 2010中(作为一个额外的奖励,SourceSafe集成在Visual Studio 2010中也更好)。

解决方案构建正常但不运行,并且根据旧项目所有者,这是由为其中一个项目编译文件的顺序引起的。到目前为止,他一直是对的,我没有理由不相信他。现在我想我在某处看到C ++文件的编译顺序没有规则,Visual Studio IDE根据文件名编译项目中的文件(但显然不是Visual Studio 6 IDE),所以我后缀全部sourcefilenames具有与Visual Studio 6项目中的文件编译顺序匹配的升序编译编号,并且看起来..编译顺序仍然与Visual Studio 6项目的编译顺序不匹配。那么有没有其他方式影响这个或我是否采取了错误的方式?或者IDE实际上是检查头文件名而不是源文件名以确定编译顺序? (我不愿意更改头文件名,因为这会导致很多代码更改)。

PS:我不打算弄清楚为什么编译顺序对于运行程序或如何解决这个问题很重要,我只是想看看我是否可以影响Visual Studio 2010中的编译顺序来证明或反驳这对该项目编制的最终结果很重要。

更新:可能这不是文件初始化失败,项目所有者错误。我只是按正确的顺序手动编译所有文件(如pwny所建议)并运行程序,它会弹出一个异常消息框,表示“应用程序无法正确初始化(0xC0000005)”。程序似乎运行到一个点,其中索引器用于指向集合对象的null指针。关联文件有一个.tem文件扩展名而不是.cpp(包含的.hpp头文件包括.include .tem文件),它可以追溯到1994年的一个makefile项目,它无法自行构建。当我从“调用堆栈”窗口导航到该文件时,调试器拒绝向我显示任何信息。这是漫长的一天所以我明天会继续,也许将makefile项目变成一个DLL,将文件重命名为.cpp,摆脱循环包含,并希望最好。

0 个答案:

没有答案
相关问题