c++中,同一个project 中不同cpp之间用对象调用函数,断点显示并没有调用成功

比如在同一个项目下有两个cpp
//a.cpp//只是简单示意一下,不是正确代码
class ff
{ff::function()
{.....;
}
}

//b.cpp
include a.h;
ff f1;//新建一个类ff的对象
f1.function();

程序能够正常运行,得到正确结果,可是当我在f1.function;前打断点的时候,断点显示程序是可以执行这个语句的,但是在ff::function()之前的断点在run程序时就会变成图片说明
就是标在 a.cpp中ff::function()函数语句前的断点会如图显示
请问是为什么呢?是项目属性设置有问题吗?

2个回答

工程设置依赖项,然后全部重新编译,再设置断点,然后运行调试。
DLL你可以直接调试DLL工程,F5,然后编译器会提示你选择加载DLL的exe程序

oyljerry
oyljerry 回复mumumama1234: 工程属性,dependency
大约 4 年之前 回复
u011251379
mumumama1234 DLL直接调试以后,编译器并没有让我选择exe程序,而是直接运行,设置依赖项是在属性-debuging里面设置吗
大约 4 年之前 回复

这是我工程属性中的 C/C++ 和 链接 里的 ->“ 命令行参数” 图片说明

有大神说是
“你这个工程是生成的动态链接库文件,此文件必须依赖一个应用程序的调用才能进行调试。
1 将要调用动态链接库的程序放到生成动态链接库的同一个目录下
2 在项目属性第二项 Debugging(在线调试)一项中 第一条(Command)命令项 选择刚才与生成动态链接库的同一个目录的调用程序,点击(Ok)确定。
3 使用F5 启动调试”

但是

这个项目之所以生成动态链接库,其实是为了另一个project 2调用,现在project 1 和 project 2在同一个solution下,然后project 2调用project 1的动态链接库,project 1的动态链接库在project 2的debug文件夹中生成,然后修改了command后依然存在同样问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c++中,同一个project 中不同cpp之间用对象调用函数,断点显示并没有调用成功
比如在同一个项目下有两个cppn//a.cpp//只是简单示意一下,不是正确代码nclass ffnff::function()n .....;n nnn//b.cppninclude a.h;nff f1;//新建一个类ff的对象nf1.function();nn程序能够正常运行,得到正确结果,可是当我在f1.function;前打断点的时候,断点显示程序是可以执行这个语句的,但是在ff::function()之前的断点在run程序时就会变成![图片说明](https://img-ask.csdn.net/upload/201508/17/1439788199_641815.png)n就是标在 a.cpp中ff::function()函数语句前的断点会如图显示n请问是为什么呢?是项目属性设置有问题吗?nn
VC中如何在不同cpp中调用同一个数组
VC中如何在不同cpp中调用同一个数组,如我在a.cpp中往Char* pcRead存了数据,想在b.cpp中使用
不同的cpp中互相调用
如何在不同的cpp中互相调用函数和对象啊?rn谢谢了
跨项目调用 同一个solution下面不同project之间的方法调用
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post" style="height: 1674px; overflow: hidden;">    
同一个dll,在不同的工程中调用,一个成功,一个失败
我需要用到一个dll,使用提供者的测试程序,测试通过了,动态调用和静态调用都成功。rn然后在自己需要的工程中调用,函数返回都是失败(我没有源码),无论动态和静态调用都不行。rn#pragma comment(lib, "xxx")。。。rnLoadLibrary()。。。rnProject Settings-> link-> Gerneral-> Object/LibraryModules中添加lib文件。。。rn以上各种办法都试过了,查看dll文件,发现其调用到WS2_32.dll,kernel32.dll,不知道有无影响?rn另外,我的工程中也有调用别的dll,都正常。rn那个测试程序很简单的,就是一个botton事件,马上调用dll函数,偏偏同样的代码放在上面运行就能成功。rn折腾很久了,哪位大大有过相同的问题吗?谢谢
同一个结构体在不同的cpp文件中大小不同
如下所示,在CDlgConvert定义结构体DATA_INFO,在CPP文件中使用时查看其大小为sizeof(DATA_INFO)=392,在MainFram类中cpp文件调用CDlgConvert.h头文件,然后某一函数中定义[color=#FF0000]CDlgConvert dialog;[/color],我发现sizeof(CDlgConvert)不等于sizeof(dialog),其原因是CDlgConvert类中添加了一个DATA_INFO变量,很奇怪,在MainFram.cpp中sizeof(DATA_INFO)=384,与其在CDlgConvert.cpp文件中不同,392-384=8,刚好sizeof(CDlgConvert)-sizeof(dialog)=8,如果在CDlgConvert类中添加了2个DATA_INFO变量,则sizeof(CDlgConvert)-sizeof(dialog)=16,很奇怪为什么会发生这种事情,求大神解答。rn(sizeof(CDlgConvert)不等于sizeof(dialog)的结果就是程序崩溃。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/1.gif][/img])rn在DATA_INFO中各变量大小加起来刚刚好是384。rn[code=c]rn#pragma oncernrn#include "afxwin.h"rn#include "SphereTile.h"rn#include "gdal.h"rn// CDlgConvert dialogrnrntypedef struct tagDATA_INFO rn // DEM/DOMrn int nType;rnrn double lfXO;rn double lfYO;rn double lfXE;rn double lfYE;rn double lfDx;rn double lfDy;rn int nRows;rn int nCols;rn int nBand;rnrn char chFileName[MAX_PATH];rnrn // readrn void *hDataset;//GDALDatasetH hDataset;rn RECT rcBuf;rn RECT rcUse;//For Blockrn LPBYTE lpBuf;rn int nSize;rn int nDataSize;rn int nDataType;rnrn // match levelrn int nLevel;rnrn // for sample progressrn int iIndex;rnrn void Default()rn rn lfXO = 0;rn lfYO = 0;rn lfXE = 0;rn lfYE = 0;rn lfDx = 0;rn lfDy = 0;rn nRows = 0;rn nCols = 0;rn nType = 0;rn nBand = 1;rnrn hDataset = NULL;rn lpBuf = NULL;rn nSize = 0;rnrn nDataSize = 1;rn nDataType = 0;rnrn rcBuf.left = 0;rn rcBuf.right = 0;rn rcBuf.top = 0;rn rcBuf.bottom = 0;rnrn nLevel = 0;rn iIndex = 0;rnrn chFileName[0] = 0;rn rn bool Alloc()rn rn if( DATA_DOM==nType || DATA_DEM==nType || DATA_DRG==nType )rn rn nSize = (rcBuf.right-rcBuf.left)*(rcBuf.bottom-rcBuf.top);rn rnrn if( 0nSize )rn rn lpBuf = new BYTE [nSize*nBand*nDataSize];rn return true;rn rn return false;rn rn void Free()rn rn if( NULL!=lpBuf )rn rn delete [] lpBuf;rn lpBuf = NULL;rn rn nSize = 0;rn rn void Close()rn rn Free();rn if( NULL!=hDataset )rn rn GDALClose(hDataset);rn rn Default();rn rnrn bool operator == (const tagDATA_INFO &di)rn rn return 0==_stricmp(chFileName,di.chFileName);rn rn bool IsValid()rn rn return (DATA_DEM==nType||DATA_DOM==nType||DATA_VEC==nType||DATA_DRG==nType);rn rnrn bool GetDataInfo(const char* lpszFileName);rnDATA_INFO;rnrnrnrntypedef std::list LIST_DATA;rnrnclass CDlgConvert : public CDialogExrnrn DECLARE_DYNAMIC(CDlgConvert)rnrnpublic:rn CDlgConvert(CWnd* pParent = NULL); // standard constructorrn virtual ~CDlgConvert();rnrn virtual void OnFinalRelease();rnrn// Dialog Datarn enum IDD = IDD_DLG_CONVERT ;rnrnprotected:rn virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV supportrn void PumpMessage();rn DECLARE_MESSAGE_MAP()rn DECLARE_DISPATCH_MAP()rn DECLARE_INTERFACE_MAP()rnpublic:rn CProgressCtrl m_wndProgress;rn int m_NumOfData;rn CString m_Pro_Msg;rn virtual BOOL OnInitDialog();rn afx_msg void OnBnClickedOk();rn afx_msg void OnBnClickedCancel();rnrnprotected:rn LIST_DATA m_listData;rnrn LPBYTE m_lpBuf;rn int m_nTileBufSize;rnrn int m_nBand;rn int m_nDEMWidth;rn int m_nDOMWidth;rn //int m_nMinLevel;rn //int m_nMaxLevel;rnrn bool m_bGoing;rn bool m_bCancel;rn unsigned int m_uMark;rn //DATA_INFO diBaseDOM;rn //DATA_INFO diBaseDEM;rn //DATA_INFO* m_pDI;rn int *m_pLevelOffset;rn CSphereData *m_pData;rnrn int GetLevel(double lat);rn bool Process();rn bool BuildTree(DATA_INFO di,CGeoTileQueue& listTiles);rnrn bool SampleDOMFromDataEx(CGeoTile* pTile,LPBYTE lpBufBase,DATA_INFO &di,int nType=DATA_DOM);rn bool SampleDOMFromChildren(CGeoTile *pTile,LPBYTE lpBufBase,int nType);rn bool SampleDOMFromParent(CGeoTile *pTile,LPBYTE lpBufBase,int nType,bool bBaseParent=false);rnrn bool SampleDEMFromDataEx(CGeoTile* pTile,LPBYTE lpBufBase,DATA_INFO &di);rn bool SampleDEMFromChildren(CGeoTile *pTile,LPBYTE lpBufBase);rn bool SampleDEMFromParent(CGeoTile *pTile,LPBYTE lpBufBase,bool bBaseParent=false);rn void CalcTileZ(CGeoTile *pTile,LPBYTE lpBufBase);rnrn void SetRange(int nRange);rn bool StepIt();rn void ShowMsg(const char* Msg);rnrnpublic:rn bool AddData(const char* lpszFileName);rn int GetDataCount()rn rn return m_NumOfData;rn ;rn;rnrn[/code]
在同一个解决方案中不同项目之间的引用
如果A项目要使用B项目中的方法1.在A项目的引用中添加B项目的dll2.在A项目中using B项目的命名空间3.B项目的方法或者类要是Public
同一个数据库中不同表之间的数据复制?
有一个数据库mydatabase,有两个表table1和table2,table1有两个字段id和aa,table2有两个字段id和bb。 rn现在想把table1的aa字段的全部数据复制到table2的bb字段中,请问该如何做??rnrnrn两个表里面的数据是这样的,想把table1的bb的数据填充table2的aa rnrntable1 rnid bb rn1 张三 rn2 李四 rn3 王五 rn4 杨三 rnrntable2 rnid aa rn1 rn2 rn3 rn4
同一个解决方案中的不同项目之间如何互相调用呢?
同一个解决方案中的不同项目之间如何互相调用呢?在打包的时候可以将不同的项目做成不同的部分安装吗,非常感谢了!!
c# 不同project之间参数传递及调用
有时候会碰到不同project调用及参数传递的问题,所以把自己用的方法写了一个小例子,涉及到委托和事件,案例中,建立两个project,名字分别为master1和slave1,其中master需要调用slave1的事件 slave1部分: namespace slave1 { public class Program { public delegate void wo
cpp之间的调用
QSound *sound=new QSound("2.wav"); rn想将一个cpp中的sound调用到另一个cpp中 并对其操作?rn还有两个cpp数据之间的相互调用??
同一个web Project中的文件
假如有一个html文件,里面form标签的action是一个jsp文件,这个jsp文件也在这个web Project里面,那html和jsp写好之后,用MyEclipse怎么执行?rnhtml是一个注册表,里面有一个name的文本框,在里面输入了姓名之后点提交。rnjsp文件是显示输入的名字。用Response对象写的。rnrn求告知执行步骤
在同一个页面中调用不同的图片问题?
在同一个页面中调用不同的图片问题rnrn我是在product.asp这个面里面有个top.asp也就是头部。这里的我要实现就是rn图片跟rnproduct.asp?categoryID=1(这是在那个页里的链接 这里比如说是一个苹果的类的产品)rnproduct.asp?categoryID=2(这是在那个页里的链接 比如说是一个桔子的类的产品)rn那我现在要实现top.asp中,比如点product.asp?categoryID=1这个链接就在top.asp上面显示的是苹果的图rn那如果是product.asp?categoryID=1那就在top.asp显示的是桔子图rnrn要如何实现?谢谢rnQQ7787930
同一个程序中调用不同smartforms 方法
需求前景:不同工作中心的工单打印格式不同;以前是每个事务码对应一个samrtforms 格式;计划部每次打印时,需要区分不同的工作中心用不同的事务码打印;特别是一个计划员管理多个工作中心时,会面临区分不同中心用哪个事务打印,造成一定的混乱;为此提出系统实现用一个事务码打印,系统自动判别不同的工作中心打印不同格式;方法1:可以在一个smartforms 中设计不同的格式;可惜本人很懒,不想重新画格式...
怎样在不同的表单中调用同一个过程
我在开发程序中,定义有一个过程,需要在不同的表单中调用,请问各位老师怎么做?
C#中调用C程序,无法调用函数
[code=C#]rnnamespace WindowsApplication1rnrn public partial class Form1 : Formrn rn [DllImport("corma.dll")]rn public static extern bool OpenConcentrator(string lspCom,int nBaudrate);rn private SerialPort comm = new SerialPort();rn public Form1()rn rn InitializeComponent();rn rn private void Form1_Load(object sender, EventArgs e)rn rn rn string[] ports = SerialPort.GetPortNames();rn Array.Sort(ports);rn rn cboPortName.Items.AddRange(ports);rn cboPortName.SelectedIndex = cboPortName.Items.Count > 0 ? 0 : -1;rn cboBaudrate.SelectedIndex = cboBaudrate.Items.IndexOf("2400");rn rnrn private void btnOpen_Click(object sender, EventArgs e)rn rn string portname = cboPortName.Text;rn int baudrate = int.Parse(cboBaudrate.Text);rn bool open = false ;rn open=OpenConcentrator(portname, baudrate);rn if (open == true)rn rn comm.Open();rn rn elsern rn comm.Close();rn rn rn[/code]rnrn正常应该open值为true,但是调用之后为false,找不到问题出在哪里,各种大大帮忙看下呗
c中调用函数问题
[code=C/C++]#includernvoid main()rnrn int a,b,c;rn int max(int x,int y);//去掉同样可以运行rn scanf("%d,%d",&a,&b);rn int max(int x,int y);rn printf("max is %d",c);rn getch();rnrnrnint max(int x,int y)rnrn int z;rn if(x>y)z=x;rn else z=y;rn return(z);rn[/code]rn这段代码中max 函数在主函数之后,而主函数中也没有申明max 函数rn 却可以直接调用rn 这是为什么啊!~~rn 书上说的是,rn1.如果子函数在主函数之后,在主函数调用子函数之前要有函数原型说明语句进行说明rn2.如果使用用户自己定义的函数,而该函数的位置在MAIN后面(同一个文件中),应该在主调函数中对被调用的函数作声明rn这与书上的违背啊!~rn 这是怎么回事rn 能有人给个解释么!~~rn 谢谢咯
Solution中包含几个Project,Project之间类的调用问题
我的Solution中包含有2个Project,其中project2中的类c2想调用project1中的类c1。我现在做法是在c2中 #include "../project1/c1.h",编译可以过去,但是连接不行,“unresolved external symbol”,请问我该如何配置。rn
同一个MEMO中的文本显示为什么不同?
MEMO控件中显示一段文本,在win2000下运行显示正常,但是在98下段落全变乱了,请问为什么?怎么解决呀?
同一个Label中显示不同字体(NSAttributedString)
在开发中经常碰到一句话, 显示的字体大小或者颜色不同的情况,如下图情况。 当然可以用多个 UILabel 去显示, 但是性能和繁杂程度的角度来说 , 在同一个 Label 中使用NSMutableAttributedString 类会更加方便。
怎样在同一个Label中显示不同的字体颜色
怎样在同一个Label中显示不同的字体颜色
不同的.c文件中使用同一个结构体
在fifo.h文件中定义一个结构体如下:rn[code=C/C++]rn#ifndef _FIFO_H_rn#define _FIFO_H_rnrntypedef struct tagSTRUCT_FIFO_Trnrn int nWrite;rn int nRead;rn int nCount;rn int nSize;rn char acSrcStr[20];rnFIFO_T;rnrnFIFO_T FIFO = 0,0,0,20,'\0';rnrn#endifrn[/code]rn在main.c文件中#include "fifo.h",在write.c文件中也#include "fifo.h",为什么会不行?小弟初学者,用的是ubuntu,gcc编译,提示如下rn/tmp/cccuv8sZ.o:(.data+0x0): multiple definition of `FIFO'rn/tmp/ccOb2z8i.o:(.data+0x0): first defined hererncollect2: ld returned 1 exit statusrn请大神帮忙,谢谢啦
cpp——与c之不同——初始化
初始化 c 支持复制初始化,不支持直接初始化 void init() { int i1 = 5; //int i2(8); } c++ 支持复制初始化,支持直接初始化 引入直接初始化主要为了支持类的初始化(构造函数),c++为了保持类型统一性,对非类类型也支持直接初始化 对于非类类型,直接初始化和复制初始化无区别 对于类类型,直接初始化可使用implicit构造函数,也可使用explicit构造函数,复制初始化可使用implicit构造函数,不可使用explicit构造函数,且复制初始
CPP与C的不同与同
CPP{ //cpp没有声明和定义之分 int a; int a; int a; } C { //声明和定义 int a; int a; int a; } 一。CPP没有声明和定义之分。
cpp——与c之不同——指针
void* c void void_pointer() { int i = 5; void* pv = &i; int* pi = pv; printf("sizeof(void) = %ld\n", sizeof(void)); printf("pv = %p, pi = %p, *pi = %d\n", pv, pi, *pi); pv++; printf("pv = %p\n", pv); pv += 5
cpp——与c比较之不同——函数 static const
c++与c比较之不同(二)
如何在同一个workspace内不同的project之间传递数据
如题,我要传送一个CString类型的ip地址
C如何调用CPP中的全局变量?
//global.h rn#include rn#include rnrn//定义全局数组rnextern unsigned char arrData[];rnrn//global.cpprnunsigned char arrData[1024];rnrn//convert.hrn//定义全局函数rnextern "C" void Test();rnrn//convert.cpprn#include "global.h"rnrnvoid Test()rnrnmemset(arrData, 0 , 1024);rnmemcpy(arrData, "test", 4);rnprintf("arrData = %s", arrData);rnrnrn//测试调用全局变量和数组rn//test.crn//#include "convert.h" //引用该头文件,编译出错rnrnextern void Test(); //全局函数rnextern unsigned char arrData[]; //全局数组rnrnint main()rnrn Test(); //全局函数,结果输出正常!rnrn //这里编译出错误,提示arrData不识别 !!!!!!rn printf("arrData = %s", arrData); //全局数组rnrn return 0;rn
用同一个指针调用不同的COM对象,高手进
是这样,工作中用到了几种仪表,对应封装了几个不同的COM,每个COM里的函数接口是一样的rn用不同的指针创建COM实例后,每个COM都可以正常调用rn如何实现只通过初始化一个指针,来调用不同COM的接口,这样可以减少代码量rn
c++中不同cpp文件中调用struct
这个帖子是我上个帖子修改之后,重新发的。不知道怎么编辑自己原来的帖子呢。rn先说一下,我建了两个.cpp,分别为AA和BB。然后在文件AA.cpp中建了一个struct,并在文件AA中写了一个函数 struct AA function(),这个函数返回一个struct。rn然后我想在文件BB.cpp中引用AA中的函数function,但是不知道改怎么办,麻烦会的人给个代码看看。谢谢rn还有,struct可以在不同.cpp中调用吗,我刚才查了好多资料,但是么有找到
c/cpp中的头文件
今天看了头文件,之前很疑惑,感觉没啥作用,现在感觉差不多能理解一点。1. 主要用于宏定义,声明函数及全局变量2. 在同名的cpp中写函数的定义,这可以防止调用时一个函数被重复定义。h文件中只是声明。3. 方便编译时检查函数使用对错...
Android Jenkins 如何编译打包同一个Project中的不同的module
前言 Jenkins是一个功能强大的打包工具,不仅可以编译打包JavaWeb项目,也可以编译打包Android和iOS项目。 问题 作为一个Android开发者,经常会碰到要打不同的渠道包,当然,这个直接可以在.gradle中直接配置不同flavor即可。但是,当我们在同一个工程Project中,新建了几个不同的Module(相当于不同的App ),这个时候问题就来了,Jenkins默认情况...
同一个工程中,不同文件中的对象如何通信?
rtrn
在不同的.cpp中传递值
一大早发问:rnrn如果现在有两个.cpp文件在同一个工程中,分别为Abc.cpp和 Mn.cpp。rnrn在Abc.cpp中有一个函数 bool GetMax::showAllMax(),其中有一个变量为int m_oStatusrn现在想把int m_oStatus最后的结果或者是函数 bool GetMax::showAllMax()的最后的bool值传递到rnMn.cpp中使用,该怎么办呢?rnrn是把m_oStatus定为全局变量么? (尝试了全局变量的方法好像不行啊,老是出现link错误,fatal error LNK1120: 1 unresolved externals)rnrn还有没有其他办法? rnrn谢谢!
Java中不同的包之间的调用。。
其实和调用同一个包的类的差不多,,都要实例化一下,,然后就可以调用一个项目中其他包中的类了。(不同项目是调用不了) 设你要调用的包名为test吧。原来那个包名为last,类为love 你在last包love类中的头文件加上import test.*; 再设你test包中的一个类名为homework 只需要在你love类中实例化一下homework类就行了。 比如:homework a=n
**50分**不同类成员之间的调用。。在线中。。。。
这是一个组件包装的一个Form,在同一个单元里rn:rn:rn TForm1 = class(TForm)rn btnMyButton: TButton;rn btnCancel: TButton;rn :rn :rn end;rn rn :rn :rn TMyCtrl = class(TComponent)rn privatern frmMyForm : TForm1;rn :rn :rnrn protectedrn procedure doMySomethings;rn publicrn constructor create(aowner: TComponent); override;rn destructor Destroy; override;rn procedure showMyForm;rn publishedrn :rn end;rnrn :rn :rnprocedure TMyCtrl.showMyForm;rnbeginrn frmMyForm:=TForm1.Create(Application);rn tryrn frmMyForm.ShowModal;rn finallyrn frmMyForm.Free;rn end;rnend;rnrn现在的问题是:rn 在类TForm1中的btnMyButton的onclick事件中如何调用类TMyCtrl的成员:doMySomethings。rnrn要求是:rn 1.不使用全局变量rn 2.不使用动态指定事件rnrnrnrn
不同dll中相同函数名之间的调用。
现在有2个dll project(DllA , DllB 一个解决方案里面), 各自有不同的类( A 里面 classA B里面 classB), classA classB 都有一个静态方法fuctionS(). rn现在我想在classB的函数fuctionS里面调用classA::fuctionS(),应该怎么解决,不用LoadLibrary 的方式。rn(注 DllA , DllB 的 def 文件里面都有fuctionS)rnrnError Info;LINK : fatal error LNK1152: cannot resolve one or more undecorated symbols
同一个工程下不同cpp间的函数如何调用?
同一个工程下如a.cpp中定义某函数proc();rnb.cpp怎么调用它呢?菜鸟求教
如何在 Project 中增加 Cpp 文件?
我把一个文件 Add To Project 后,编译出现错误:rnfatal error C1010: unexpected end of file while looking for precompiled header directive(在文件的最后位置出现)rn加上一个空的文件也是这样,怎么样添加呢(文件已经写好)?
在多文档的project中,childfrm.h和.cpp的作用是什么??
一直没有明白rn在IDR_MAINFRAME中添加的函数是在类CMainFrame中的,而在IDR_MYTYPE中添加的函数是在类MyView中,rn那么类CChildFrame的作用是什么呢???
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数