stdafx.cpp编译引起的C2859、C1083、LNK2001错

news/2024/7/5 23:56:35 标签: c, properties, header, file, build, mfc
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views"> csdn.net/hejianhua/article/details/4955249">
class="article_title" style="margin-top:5px; margin-right:0px; margin-bottom:5px; margin-left:0px; font-family:'Microsoft YaHei'; font-size:20px; line-height:30px; text-align:left"> class="ico ico_type_Original" style="display:inline-block; width:19px; height:19px; margin-top:0px; margin-right:2px; margin-bottom:0px; margin-left:0px; background-color:initial; vertical-align:middle">
class="article_manage" style="padding-top:5px; padding-right:0px; padding-bottom:5px; padding-left:0px; color:rgb(153,153,153); font-family:Arial; line-height:24px; text-align:right; display:inline!important">
class="link_report" style="margin-top:0px; margin-right:5px; margin-bottom:0px; margin-left:5px">
cle_content" class="article_content" style="margin-top:20px; margin-right:0px; margin-bottom:0px; margin-left:0px; font-family:Arial; font-size:14px; line-height:26px; text-align:left">

今天在VC2005中修改一个工程的文件结构࿰c;将"stdafx.cpp"文件挪动了位置࿰c;编译时出现C2859错误࿰c;具体信息如下:

error C2859: e:/projects/apptest/src/debug/color:rgb(255,0,0); font-size:16px">vc80.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled headere:/projects/apptest/src/mainapp.cpp 

error C2859: e:/projects/apptest/src/debug/color:rgb(255,0,0); font-size:16px">vc80.idb is not the idb file that was used when this precompiled header was created, recreate the precompiled headere:/projects/apptest/src/mainapp.cpp 

 

(这个应该是Make的规则在起作用)按照提示要求࿰c;clean编译文件࿰c;rebuild工程࿰c;还是一样的问题。发现debug文件夹下总是有一个mainapp.pch文件(预编译文件)࿰c;即使clean也不会删除。将该文件手动删除࿰c;rebuild工程࿰c;出现C1083错误:

    fatal error C1083: Cannot open precompiled header file: 'Debug/color:rgb(255,0,0); font-size:16px">MainApp.pch': No such file or directory e:/projects/apptest/src/mainapp.cpp 

    查看工程设置properties -> Configuration Properties -> C/C++ -> Precompiled Headers࿰c;为“Use Precompiled Headers (/Yu)”࿰c;所以预编译文件mainapp.pch不会自动生成;改为“Create Precompiled Headers (/Yc)”࿰c;rebuild工程࿰c;ok。

    但是工程原来的设置“Use Precompiled Headers (/Yu)”是可以编译成功的啊࿰c;于是再改回原来的设置࿰c;buildc;出现LNK2001错误:

    error LNK2001: unresolved external symbol "int __cdeccolor:rgb(255,0,0); font-size:16px">_AfxInitManaged(void)" (?_AfxInitManaged@@YAHXZ) mfcs80ud.lib 

 

    百思不得其解࿰c;google上找答案࿰c;原来VC对于预编译的设置是这样的:

color:rgb(255,1,2); font-weight:bold; text-decoration:underline">     1、"stdafx.cpp"文件的预编译选项永远是“Create Precompiled Headers (/Yc)”;

color:rgb(255,1,2); font-weight:bold; text-decoration:underline">     2、工程的预编译选项一般为“Use Precompiled Headers (/Yu)”。

    可知"color:rgb(255,1,2)">stdafx.cpp"文件的预编译选项一般与工程的预编译选项设置是不同的c;也就是说coration:underline">每次build工程时࿰c;"stdafx.cpp"文件都要生成预编译文件*.pch࿰c;而其他cpp文件则直接用这个文件进行编译。于是选中"stdafx.cpp"文件࿰c;右键“Properties”࿰c;选择 “All Configurations”࿰c;将预编译选项设置为“Create Precompiled Headers (/Yc)”࿰c;再次rebuildc;一切ok。

 

 

   回忆引起出错的操作࿰c;是从工程中删除"stdafx.cpp"文件后又添加到工程中的。看来color:rgb(255,1,2)">VC框架生成的工程会自动将"stdafx.cpp"文件的预编译选项设置好࿰c;如果用户手动添加该文件的话࿰c;预编译选项将会与工程的选项相同。打开一个以前的MFC工程查看࿰c;果然验证了自己的想法。

csdn.net/hejianhua/article/details/4955249">
cle>

http://www.niftyadmin.cn/n/562758.html

相关文章

HTML5期末大作业:生态环境网站设计——环境保护主题-绿色环保 (9页) web期末作业设计网页_绿色环保大学生网页设计作业成品

HTML5期末大作业:生态环境网站设计——环境保护主题-绿色环保 (9页) web期末作业设计网页_绿色环保大学生网页设计作业成品 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体…

HTML5期末大作业:环境保护网站设计——环境保护--水生态环保(5页) 环境网页设计作业 简单大学生静态HTML网页作品

HTML5期末大作业:环境保护网站设计——环境保护–水生态环保(5页) 环境网页设计作业 简单大学生静态HTML网页作品 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆…

人们有时对机率存在的错误的认识

1.六合彩:在六合彩(49选6)中,一共有13983816种可能性(参阅 组合数学),普遍认为,如果每周都买一个不相同的号,最晚可以在13983816/52(周)268919年后…

HTML5期末大作业:环境保护网站设计——环境保护网 (10页) HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作

HTML5期末大作业:环境保护网站设计——环境保护网 (10页) HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体…

HTML5期末大作业:环保网站设计——小黄车ofo环保(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码

HTML5期末大作业:环保网站设计——小黄车ofo环保(9页) HTMLCSSJavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈…

在VS2008中集成HLSL编译器

设置: 工具>外部工具>添加,标题可以随意设置,如“HLSLCompiler”;命令为DXDSK所带的HLSL编译器fxc,如“D:\Program Files\Microsoft DirectX SDK (June 2010)\Utilities\bin\x86\fxc.exe”;参数为“…

HTML5期末大作业:英雄联盟网站设计——英雄联盟LOL(4页) HTML+CSS+JavaScript web期末网站设计大作业

HTML5期末大作业:英雄联盟网站设计——英雄联盟LOL(4页) HTMLCSSJavaScript web期末网站设计大作业 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环…