У меня есть три файла с несколькими дублями, разделенными новой строкой. Каждый из них выглядит примерно так:
Код: Выделить всё
...doubles
7540.39
-7741.01
-6349.83
-7670.89
1357.22
-9087.59
-2514.53
1896.5
5708.62
8541.45
7948.56
-8000.89
4115.98
6805.74
9513.29
-3964.84
-7187.46
945.873
-2032.98
-4842.12
-174.058
-2470.14
-1055.73
-8893.61
2755.39
...more doubles
Код: Выделить всё
#include
#include
#include
int main(int argc, char* argv[]) {
// File variable (saved as fp)
FILE * fp;
// Character variable (saved as line)
char * line = NULL;
size_t len = 0;
ssize_t read;
// path to files
char filename[40] = "../input/file";
// The # of the file (file0, file1, file2)
int rank;
// Check that we get correct # for file
if (argc 0) sum += atof(line);
}
printf("Sum is %f.\n",sum);
fclose(fp);
if (line) free(line);
}
}
return 0;
}
code>, оба работают для компиляции и создания исполняемой программы, я не знаю почему.
Когда я пытаюсь запустить с помощью команды gcc mySum или gcc mySum -o mySumOutput , я получаю следующую ошибку
Код: Выделить всё
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o: In function `_start':
(.text+0x24): undefined reference to `main'
collect2: error: ld returned 1 exit status
Код: Выделить всё
mySum: In function `_fini':
(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o:(.fini+0x0): first defined here
mySum: In function `data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.data+0x0): first defined here
mySum:(.rodata+0x8): multiple definition of `__dso_handle'
/usr/lib/gcc/x86_64-redhat-linux/8/crtbegin.o:(.rodata+0x0): first defined here
mySum:(.rodata+0x0): multiple definition of `_IO_stdin_used'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.rodata.cst4+0x0): first defined here
mySum: In function `_dl_relocate_static_pie':
(.text+0x30): multiple definition of `_dl_relocate_static_pie'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.text[.text.group]+0x0): first defined here
mySum: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.text+0x0): first defined here
mySum: In function `_init':
(.init+0x0): multiple definition of `_init'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o:(.init+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/8/crtend.o:(.tm_clone_table+0x0): multiple definition of `__TMC_END__'
mySum:(.data+0x8): first defined here
/usr/bin/ld: error in mySum(.eh_frame); no .eh_frame_hdr table will be created.
collect2: error: ld returned 1 exit status
[student1@mpi1 cprog]$ g++ mySum -o mySumOutput
mySum: In function `_fini':
(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o:(.fini+0x0): first defined here
mySum: In function `data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.data+0x0): first defined here
mySum:(.rodata+0x8): multiple definition of `__dso_handle'
/usr/lib/gcc/x86_64-redhat-linux/8/crtbegin.o:(.rodata+0x0): first defined here
mySum:(.rodata+0x0): multiple definition of `_IO_stdin_used'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.rodata.cst4+0x0): first defined here
mySum: In function `_dl_relocate_static_pie':
(.text+0x30): multiple definition of `_dl_relocate_static_pie'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.text[.text.group]+0x0): first defined here
mySum: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o:(.text+0x0): first defined here
mySum: In function `_init':
(.init+0x0): multiple definition of `_init'
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o:(.init+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/8/crtend.o:(.tm_clone_table+0x0): multiple definition of `__TMC_END__'
mySum:(.data+0x8): first defined here
/usr/bin/ld: error in mySum(.eh_frame); no .eh_frame_hdr table will be created.
collect2: error: ld returned 1 exit status
Подробнее здесь: https://stackoverflow.com/questions/790 ... l-possible