无法启动xxx.exe 。 系统找不到指定的文件

小湿哥 小湿哥 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
几个源文件编译都能成功了,然后运行,显示 无法启动xxx.exe,系统找不到制定文件,我再去project\xxx\debug\看,xxx.exe文件已经没有了。

然后我尝试重新生成解决方案,结果出现error,如下所示:


1>import.obj : error LNK2005: "struct Column * bighead" (?bighead@@3PAUColumn@@A) 已经在 creat.obj 中定义
1>main.obj : error LNK2005: "struct Column * bighead" (?bighead@@3PAUColumn@@A) 已经在 creat.obj 中定义

看样子应该是与我设定的全局变量 bighead有关,现我把有bighead出现的code都贴出来,看有木有大侠能找出其中的问题。
首先是全局变量声明所在的.h 文件:

struct Column
{
int datatype; // 用以标示数据类型
int datalength; // 标示数据的长度
char name[128]; // or char *name;
struct Column *nextColumn;
struct data *firstData;
};
struct data
{
char *record;
struct data *nextdata;
};

void quit();
void import();
int main();
void print();
struct Column *bighead;//这里就是那个全局变量。
struct Column *creat();


然后是引用它的,main.cpp文件

#include<stdio.h>
#include<windows.h>
#include"struct.h"

int main()
{
int i;
char c;
printf(" ");
for(i=0;i<42;i++)
printf("*");
printf("\n");
printf(" * Tiny In-Mem DataBase version 6.72f *\n");
printf(" * Copyright X X ALL Rights Reserved *\n");
printf(" ");
for(i=0;i<42;i++)
printf("*");
printf("\nDB1=>");
while(1)
{scanf("%c",&c);
if(c=='-')
{scanf("%c",&c);
switch(c)
{
case'c':bighead=creat();break;//这一引用了全局变量。
case'i':import();break;
case's':break;
case'u':break;
case'd':break;
case'q':quit();return(0);
default :break;
}
}
else printf("Unavilable command!\n");
}
return(0);
}


还有一个地方,是我正在写的impor.cpp文件里的。

#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#include"struct.h"

void import()
{
FILE *fp;
char addr[20],ch,h[10];
scanf("%s",&addr);
fp=fopen(addr,"rt+");
ch=fgetc(fp);
struct data *p1,*p2,*p3,*p4,*p5,*p6;
struct Column *head;
p1=(struct data *)malloc(sizeof(struct data));
p3=(struct data *)malloc(sizeof(struct data));
p5=(struct data *)malloc(sizeof(struct data));
head=bighead;//.........................................就这里了。。
head->firstData = p1;
head=head->nextColumn;
head->firstData = p3;
head=head->nextColumn;
head->firstData = p5;
memset(h, 0, sizeof(h));
int i=0;
while(ch!=',')
{
h[i]=ch;
ch=fgetc(fp);
i++;
}
p1->record=h;

}


求助 求助
...全文

相关推荐

评论 15
收藏 已收藏
分享
返回顶部
小湿哥
C语言 70,039 成员 243,237 内容