cc文件编译期报错
出现该错误的原因为编译时只变编译了源文件的一部分,故在链接时无法从编译好的目标代码中找到print函数,所以出错。
根据你的源文件结构,个人推荐先单独编译源文件为多个object文件,再统一链接。
方法如下
gcc-cmain.c#-c参数的作用是让gcc只编译,不链接
gcc-ctest.c
gcc-omainmain.otest.o#将编译好的目标代码链接
当然,以上是在gcc为编译器的前提下执行,如使用clang等其他编译器,方法类似(clang的调用方法与gcc高度兼容)
㈡ 为什么我的C++在编译时总是报错呢,说c1.exe无法运行.错误看图片
实际上这个问题很多情况下是由于路径设置的问题引起的,
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,
你可以到相应的路径下找到这个应用程序。
因此问题可以按照以下方法解决:打开vc界面
点击VC“TOOLS(工具)”—>“Option(选择)”
—>“Directories(目录)”重新设置“Excutable
Fils、Include
Files、
Library
Files、Source
Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble
files:
C:\Program
Files\Microsoft
Visual
Studio\Common\MSDev98\Bin
C:\Program
Files\Microsoft
Visual
Studio\VC98\BIN
C:\Program
Files\Microsoft
Visual
Studio\Common\TOOLS
C:\Program
Files\Microsoft
Visual
Studio\Common\TOOLS\WINNT
include
files:
C:\Program
Files\Microsoft
Visual
Studio\VC98\INCLUDE
C:\Program
Files\Microsoft
Visual
Studio\VC98\MFC\INCLUDE
C:\Program
Files\Microsoft
Visual
Studio\VC98\ATL\INCLUDE
library
files:
C:\Program
Files\Microsoft
Visual
Studio\VC98\LIB
C:\Program
Files\Microsoft
Visual
Studio\VC98\MFC\LIB
source
files:
C:\Program
Files\Microsoft
Visual
Studio\VC98\MFC\SRC
C:\Program
Files\Microsoft
Visual
Studio\VC98\MFC\INCLUDE
C:\Program
Files\Microsoft
Visual
Studio\VC98\ATL\INCLUDE
C:\Program
Files\Microsoft
Visual
Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行。
关键是microsoft
visual
studio\
后面的东西要相同。
㈢ C语言编译报错
#include <stdio.h>
#include <string.h>
int main()
{
int gg(int i);
int i;
while(1){
i=0;
printf(" 1.查看历史日程表\n");
printf(" 2.输入新的日程表\n");
printf(" 3.查看已完成的日程表\n");
printf(" 4.查看未完成的日程表\n");
printf(" 5.退出登录\n");
printf(" 请选择相应序号: ");
scanf("%d",&i);
if(i==5){
break;
}
gg(i);
printf("\n");
printf("\n");
printf("\n");
}
}
int gg(int i){
int aa();
int bb();
int cc();
int dd();
switch(i){
case 1:
aa();break;
case 2:
bb();break;
case 3:
cc();break;
case 4:
dd();break;
}
}
int aa(){
FILE*fp;
int length=1000;
char str[1001];
if((fp=fopen("11s.txt","r"))==NULL){
printf("无文件");
return 0;
}
while(fgets(str,length,fp)!=NULL){
printf("%s",str);}
return 1;
fclose(fp);
}
int bb(){
FILE*fp;
char str[400];
printf("内容如下:\n");
scanf("%s",str);
if((fp=fopen("11s.txt","a+"))==NULL){
printf("文件不存在");
return 0;
}
fputs("\n",fp);
fputs(str,fp);
printf("加入成功");
fclose(fp);
return 1;
}
int cc(){
FILE*fp;
int length=1000;
char str[1001];
printf("内容如下:\n");
if((fp=fopen("11s.txt","r"))==NULL){
printf("无文件");
return 0;
}
while(fgets(str,length,fp)!=NULL){
if(strstr(str,"已完成")!=NULL){
printf("%s",str);
}
}
fclose(fp);
return 1;
}
int dd(){
FILE*fp;
int lenght=1000;
char str[1001];
printf("内容如下:\n");
if((fp=fopen("11s.txt","r"))==NULL){
printf("无文件");
return 0;
}
while(fgets(str,lenght,fp)!=NULL){
if(strstr(str,"未完成")!=NULL){
printf("%s",str);
}
}
fclose(fp);
return 1;
}