在做MFC程序时,链接出现如下关于extern “C”的错误:

#ifdef__cplusplusextern"C"{/*AssumeCdeclarationsforC++*///出错行#endif/*__cplusplus*/报错语... #ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */ //出错行
#endif /* __cplusplus */

报错语句:

sqltypes.h(19) : error C2143: syntax error : missing ';' before 'string'
sqltypes.h(19) : fatal error C1004: unexpected end of file found

是在找不错哪错了,哪位C++大神帮忙一下?
展开
 我来答
iro52238
2013-01-03 · TA获得超过1.2万个赞
知道大有可为答主
回答量:3万
采纳率:0%
帮助的人:2956万
展开全部
我最近也了解这一点,这是我在网上找到的信息,希望能帮到你:
如果你顺利模拟器,然后你就可以开始调试所述断点在断点分为三类,一类VC当地的断点,数据断点(也被称为一个条件断点,有人说是先进的断点),或新闻断点,这三种类型的断点,分别对应快捷键“ALT + F9”对话框中的三个选项卡在使用MTK消息断点跟踪WIN消息,打开,不需要。模拟器一般只能使用当地的断点和数据断点。当地的断点和数据断点的BUG调试中发挥了至关重要的作用,大放异彩。熟练中的断点技能可以使工作效果较差。有些人可能会使用断点,但不知道是什么神奇的效果模拟器中的断点。断点两个最常用的,但也有作用的跟踪代码执行情况,并观察一个断点,这两个功能的应用程序的局部变量值的变化。 MTK模拟器有两个隐含的使用迅速定位文件的MTK源代码有关的数以十万计的文件,而SP代码后约超过一百万的查找功能找到的一篇文章中有,是一件非常困难的事情,那么你需要在代码中使用断点阅读工具SI,你可以很容易地使用CTRL + O“打开该文件,你也可以使用”F7“快速导航的功能,但没有人在VC的方便,但您可以使用断点,如打开一个文件在VC wgui_categories_CM.c VC“ALT + F9”,在编辑框中输入0.4693突破,DEBUG按F5运行的VC将能够给自己定位4693线本文件wgui_categories_CM.c文件的断点功能也能起到一个断点,也可以直接如文件wgui_categories_CM.c的4693线相应的功能ShowCategory16Screen的编辑框中输入的休息ShowCategory16Screen使用F5调试功能来运行的拨号接口时,将停止为当地断点调试。本地断点有什么用是什么?或特殊用途的简单的几个例子,但是断点,可以应用在你的想象力的束缚,解决了很多问题,而不是因为我的例子
如何使用断点快速定位到的问题点,如果我们发现,拨号窗口显示有问题,但我们不熟悉的代码,你不知道的拨号窗口的代码文件,这行,我们可以中断EntryNewScreen功能,他将停止时进入拨号,然后我们就可以在堆栈窗口中,您可以很容易地找到这个窗口实现的功能。详细研究的代码,你可以找到一个的解决方案。
B.断点“窗口,可以用来快速地解决显示问题,如拨号窗口,有图片显示不正常,那么我们可以在绘图功能gdi_image_codec_draw标记断点,进入拨号窗口中,每个显示器的画面,该功能将停止合并协议栈,我们可以很容易地找到其中的代码,从而找到一个解决方案。太多这种类型的函数,而不是11例子
C.断点,可以用来研究全局变量被意外,我们打开断点对话框,选择第二个选项卡中,需要不断跟踪变量玩到每个变量的变化时,VC会停下来等待我们的调试,还可以设置条件,假设一个全局变量U8 g_XXX其值等于5:00是错误的,但你不知道这个全局变量的代码分配为5,那么你可以设置数据断点在第二个选项卡上面的对话框中输入g_XXX == 5停止时,它是5:00。
D。研究代码也可以使用断点,如MTK代码许多函数指针包,gui_print_text指针,你想研究他的实现过程,但因为它是一个指针,你可以没有找到他的身体的功能,那么你可以在数据断点中,指针gui_print_text输入进去,当您重新启动模拟器时,他会找到办公室ui_print_text的功能。
兹举四个例子在任何场合,你需要调试,断点可以使用,但太多的断点会影响您的查找速度的问题,如熟练使用,以解决问题的一些变量和函数,可以有针对性的中断点,是一个过程,积累
3栈调试,请按住Alt +7打开堆栈窗口的窗口,我们可以看到在函数之间的调用关系,这是非常有用的,一般要结合断点使用,定位的BUG和研究代码是非常有用的。上面的例子中,这里没有引用
4。变量窗口中,按住Alt +4打开“变量”窗口中,窗口会自动显示断点的代码使用的变量和它们的值,读取的代码来解决一个BUG,单步执行经常引用的数据窗口
5。Watch窗口,按Alt +3开放的,可变的窗口会自动显示变量有时是不是我们所需要的,当我们需要看到的可变墨滴进入窗口,加上断点,还支持表达式的类型值,真是太好了。
存储器窗口ALT +6打开存储器窗口,存储器窗口可以显示内存的内容,这是非常有用的,例如,我们跟踪的内容的邮件,短信的内容指针,指针输入WATCH窗口只能看到指针的第一个值依赖于其他,将是一个很大的麻烦,你可以只输入的表达,但的指针输入内存“窗口中没有打扰
7.Alt +8打开汇编指令窗口,该窗口是非常有用的学习组件,或使用在正常情况下,如果一个第三方库文件出了问题,它只能使用这个窗口来调试通常情况下,如果错误定位的汇编代码在C标准库文件,只有一个可能,那你叫错了
qyn04539
2013-01-01 · 贡献了超过221个回答
知道答主
回答量:221
采纳率:0%
帮助的人:47.9万
展开全部
你看看范围的声明中包含的extern“C”。为extern“C”代表C-命名,如OnFilePrintSetup obj或函数库,称为“OnFilePrintSetup”C + +的风格命名编译
“如果你不使用extern”C“,然后呢?OnFilePrintSetup!风格CWinApp的@ @ QAEXXZ“,这个错误发生,因为静态链接库来使用C + +风格。你的程序被定义为一个C风格的,或相反,删除的extern“C”,看看什么是错的。严格的安排有限的范围将extern“C”,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xz宏定义
2012-12-29 · TA获得超过1029个赞
知道小有建树答主
回答量:1621
采纳率:100%
帮助的人:226万
展开全部
少大括号extern "c" 一般修饰 变量或者函数
追问
是这样的,这个extern声明是包含在系统自动添加的头文件SQLTYPES.H中的,原因是我希望MFC程序能自动在本机配置access驱动,然后用了SQLConfigDataSourc()函数,同时向工程中添加了odbccp32.lib,系统就自动添加了SQLTYPES.H,链接时出现上面的错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qiny1010
2012-12-28 · TA获得超过232个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:144万
展开全部
extern "c" 一般修饰 变量或者函数吧,您这修饰的是什么?
更多追问追答
追问
是这样的,这个extern声明是包含在系统自动添加的头文件SQLTYPES.H中的,原因是我希望MFC程序能自动在本机配置access驱动,然后用了SQLConfigDataSourc()函数,同时向工程中添加了odbccp32.lib,系统就自动添加了SQLTYPES.H,链接时出现上面的错误。
追答
是不是您结构体定义完没有加';'或是一个变量没有声明没加分号!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式