MPI批生成问题LNK2001错误

将  配置属性->C/C++->常规 中的  调试数据格式 修改成 程序数据库Zi ;

原因如下面的step2中几种库的区别,默认格式中mpi.h,中可能含有#pragma语句

 

 

(转载)http://www.newsmth.net/pc/pccon.php?id=10003686&nid=408850

 

step1. 进入项目属性

       项目->属性

或     视图->属性管理器

或     右击项目名称->快捷菜单中单击属性

step2. 设定调试信息格式

配置属性->C/C++->常规

  /Z7: 产生目标文件(.obj),提供调试程序使用的完整调试信息符号。这些包含了变量名称与类型、函数和行号,但是不会产生*.pdb文件;

  /Zi: 除了提供完整的调试信息符号之外,还包含调试程序使用的程序数据库PDB,产生调试数据时会将类型信息存放于PDB中;

  /ZI: 支持“编辑后继续”功能,使用此项调试格式时,程序代码中不能含有“#pragma optimize”预处理命令。一般来说,ZI仅支持x86编译程序,不支持64位的使用。

step3. 禁用优化

    编译程序为了让程序代码执行效率更佳,会重新组织指令并调整位置,生成比较有效率的代码。然而,这种重新安排的动作,调试程序不一定能辨识,且优化还会影响局部变量的位置和函数内部的位置。因此,在调试过程中,需禁用优化。

配置属性->C/C++->优化  

   禁用(/Od): 表示会禁用优化,简化调试程序,以利于编译程序的处理;

   最小化大小(/O1): 优化时会以最小程序代码为目标;

   最大化速度(/O2): 优化时会以最快执行效率为目标;

   完全优化(Ox): 默认值。

step4. 设定链接器

   调试时,必须将“生成调试信息”设为“是/DEBUG”。DEBUG选项会让程序代码执行时能够创建.exe文件或DLL的调试信息,然后将调试信息放入程序数据库PDB中。当调试信息有更新时,PDB也会更新。

配置属性->链接器->调试

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页