出现ld returned 1 exit status该咋解决呀?
本帖最后由 徐江颖 于 2019-8-3 21:06 编辑#include <io.h>
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 256
long total;
int countlines(const char *filename);
void findALLCodes(const char *path)
;void findALLFiles(const char *path);
int countLines(const char *filename)
{
FILE *fp;
int count = 0;
int temp;
if ((fp = fopen(filename, "r")) == NULL)
{
fprintf(stderr,"Can not open the file: %s\n", filename);
return 0;
}
while ((temp = fgetc(fp)) != EOF)
{
if (temp == '\n')
{
count++;
}
}
fclose(fp);
return count;
}
void findALLCodes(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath, target;
strcpy(thePath,path);
if((handle = _findfirst(strcat(thePath, "/*.c"), &fa)) != -1L)
{
do
{
sprintf(target, "%s/%s", path, fa.name);
total += countLines(target);
}while (_findnext(handle, &fa) == 0);
}
_findclose(handle);
}
void findALLDirs(const char *path)
{
struct _finddata_t fa;
long handle;
char thePath;
strcpy(thePath,path);
if((handle = _findfirst(strcat(thePath, "/*"), &fa)) == -1L)
{
fprintf(stderr, "The path %s is wrong!\n",path);
return;
}
do
{
if (!strcmp(fa.name, ".") || !strcmp(fa.name, ".."))
continue;
if( fa.attrib == _A_SUBDIR)
{
sprintf(thePath, "%s/%s", path, fa.name);
findALLCodes(thePath);
findALLDirs(thePath);
}
}while (_findnext(handle, &fa) == 0);
_findclose(handle);
}
int main()
{
char path = ".";
printf("计算中...\n");
findALLCodes(path);
findALLDirs(path);
printf("目前你总共写了 %ld 行代码! \n\n", total);
system("pause");
return 0;
}
编译器提示
C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\bin\ld.exe cannot open output file C:\Program Files (x86)\Dev-Cpp\Lang\C1.exe: Permission denied
C:\Program Files (x86)\Dev-Cpp\Lang\collect2.exe ld returned 1 exit status
我按照网上说的关闭程序,重新打开以后还是无法运行
楼主应该把出错信息贴全。
ld 错误(链接错误),问题应该出在库函数上,原因是用户代码中调用的库函数无法在函数库中找到,往往是把函数名写错导致。 C:\Program Files (x86)\Dev-Cpp\Lang\C1.exe : Permission denied
意思是没有权限创建(或更新)这个文件,通常的原因是,这个文件正被操作系统锁定,可能这个文件正在运行中。
启动任务管理器,看是否能找到这个进程,如果有,那就把它杀掉,然后再编译试试。 jackz007 发表于 2019-8-3 11:25
意思是没有权限创建(或更新)这个文件,通常的原因是,这个文件正被操作系统锁定,可能这个文件 ...
谢谢{:10_275:}
我用任务管理器把Dev-C++任务进程结束了,然后重新打开文件 编译运行,还是老样子{:10_266:}
虽然看不懂但是是不是那个第五行右边>没写的问题 非黑莫白 发表于 2019-8-3 20:58
虽然看不懂但是是不是那个第五行右边>没写的问题
不是不是,我复制粘贴不小心漏掉了,感觉不是代码抄错的问题{:10_272:} 徐江颖 发表于 2019-8-3 20:41
谢谢
我用任务管理器把Dev-C++任务进程结束了,然后重新打开文件 编译运行,还是老样子{:10_2 ...
C:\Program Files (x86)\Dev-Cpp\Lang\C1.exe
这个文件应该是你编译输出的可执行文件,不属于 DEV-C++。 jackz007 发表于 2019-8-3 21:46
这个文件应该是你编译输出的可执行文件,不属于 DEV-C++。
原来是文件格式错了,成功运行了,谢谢{:10_256:} 徐江颖 发表于 2019-8-4 15:56
原来是文件格式错了,成功运行了,谢谢
请问你是怎么改的,我的也是和你一样的问题
页:
[1]