运行VS2010, 编译的时候是生成成功的,但是启动调试就生成失败了,求c++大神搭救

1>------ 已启动生成: 项目: 第三次作业, 配置: Debug Win32 ------
1>生成启动时间为 2013/4/16 21:30:00。
1>InitializeBuildStatus:
1> 正在对“Debug\第三次作业.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> 所有输出均为最新。
1>第三次作业.obj : error LNK2019: 无法解析的外部符号 "int __cdecl search_string_1(char)" (?search_string_1@@YAHD@Z),该符号在函数 _main 中被引用
1>C:\Users\Administrator\Documents\Visual Studio 2010\Projects\第三次作业\Debug\第三次作业.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:00.19
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

第1个回答  2013-04-16
link error 表示链接错误, 很有可能你调用函数时该函数或没声明没定义或定义没声明或声明没定义或调用的地方落后于函数声明地方.

其中 我说言声明函数(如int search(char c)像这样
// some codes like #include ....
int search(char c); // 注意没有花括号{} 即不是定义
我说的定义即是函数体(函数的实现) 在c++中函数声明和函数实现可以分开 (java中声明了即马上实现,除非抽象函数(C++中的纯虚函数)或接口中的函数(其实接口中的函数就是抽象函数))
int search(char c){
// code here 在这里写实现
}
常见问题,main函数调用search函数,但是你却没在main()之前声明他而是在main之后实现了他,故找不到search函数本回答被网友采纳
第2个回答  2013-04-16
编译正确,链接出错了,估计是有函数只声明未定义追问

但是我声明了函数 也定义了函数啊

追答

1>第三次作业.obj : error LNK2019: 无法解析的外部符号 "int __cdecl search_string_1(char)" (?search_string_1@@YAHD@Z),该符号在函数 _main 中被引用

看下与search相关的函数

第3个回答  2013-04-16
程序语法没错,逻辑错了,要看到你的代码才能改

C++程序在VS2010下运行正确,直接运行Debug与Release的exe就错?求大神...
在VS2010下运行,默认是运行DEBUG的,能正常运行并不奇怪, 但是如果你单独把它拷贝出来运行,不一定能够正常工作, 因为在VS2010里面能够运行是因为编译器提供了很多系统变量以及临时变量给你的DEBUG去调用。 当然了,具体情况具体分析,没有看到代码,不能进一步分析。 追问: 请问您有空吗?...

c++VS2010为什么生成失败,程序编译成功啊。。。
这个提示是告诉你,当前Debug目录下已经有一个生成好的exe文件了,但是是在你修改编辑代码之前的,所以叫做已过期.一般勾选不再提示即可,就是说你下次编译生成后自动覆盖掉之前的旧版本.

用VS2010 c++调用库时出错了,求大神解救
菜单上选择:项目\/属性,如下图加下一个库

vs2010里调试c++时总是说此项目已经过期怎么办?
1、首先在vs2010中,看到如下图,单步执行为灰色,无法调试。2、首先检查下VS2010的版本,是否未安装VS2010 SP1补丁。VS菜单上选择帮助-》关于。3、如果版本信息里没有SP1的版本信息,就说明没有安装SP1。4、这时只需要安装VS2010 SP1补丁。这里下载了一个VS2010SP1dvd1.iso。然后用虚拟光驱打开。5、...

c++ 程序在VS2010中调试正常 编译后运行出错
new申请的资源 用完之后要delete释放

为何刚装的vs2010 ,调试c++时显示 "此项目4 - Debug Win32已过期"?求...
编译器不同,你的项目是在vs2005上做的吧,在2010下需要转化一下。 每次产生的 exe都是同一个因为build失败了,启动的还是debug文件夹下面的那个,你需要重新编译。

VS2010 创建c++win32程序生成的时候总是有错误,代码没问题,运行时找不...
你用的是vc2010。这是编译器配置问题,很简单的。按下面方法设定,重编即可:右键工程,菜单——属性——配置属性——常规——字符集,改为“未设置”。确定就行。

VS2010 C++ MFC写的程序编译可以正常运行,但是我想直接运行,DEBUG里找...
你重新生成一下,然后在你的项目的上一级目录中找到Debug目录,里面有exe文件,不是在项目文件夹内的Debug文件夹。

vs2010编的C语言程序,生成了可执行文件,可是为什么在其他电脑上却不能...
所有Visual Studio编译的程序,只要你用到了C Runtime库的函数,比如printf等最基本的标准函数,就会链接MSVCRxx.dll,里面的xx是你编译的Visual Studio的版本号。现在的问题就是你用的VS2010,很多计算机上没有这个DLL,即使你编译成Release版本(Debug版本需要更多的库支持),依然会出现运行不了的情况。解...

为何这段c语言的代码在vs2010编译后运行会崩溃
不然也会崩溃 } for(t2=0;t2<20;t2++)\/*将每个字符的ascii码加5*\/ { mi[t2]=mi[t2]+5;} for(t3=0;t3<20;t3++)\/*输出*\/ { printf("%c",mi[t3]);} getchar();} 起始这段程序也不用定义那么多个t1 t2 t3,用一个i也可以解决,只要每次for的时候都初始化i=0就可以了~...

相似回答