Ich hinter meinem ganzen Tag, um Code Blocks zu beheben, hatte ich eine Menge Probleme damit. Scheint behoben zu sein, ich entscheide mich für Code und ich versuche ein Tablett (zweidimensionale Arrays) als Parameter einer Funktion anzuzeigen. Ich folge einer Antwort auf dieser Website, um es richtig zu machen. Aber jetzt habe ich einen Fehler, wenn ich kompiliere. Hier sind meine Dateien.Probleme mit C & Code Blocks: Fehler mit Debug genannt 'Fehler: ld zurückgegeben 1 Exit-Status'
main.c
#include <stdio.h>
#include <stdlib.h>
#include "SudokuH.h"
int main(void)
{
int tray[9][9]={};
displayTray(numRows, numCols, tray);
return 0;
}
SudokuH.h
#ifndef SUDOKUH_H_INCLUDED
#define SUDOKUH_H_INCLUDED
int numRows = 9;
int numCols = 9;
int i,j;
void displayTray (int numRows, int numCols, int pt[][numCols]);
#endif // SUDOKUH_H_INCLUDED
SudokuS.c
#include <stdio.h>
#include <stdlib.h>
#include "SudokuH.h"
void displayTray(int numRows, int numCols, int pt[][numCols]){
printf("A|B|C|D|E|F|G|H|I\n");
for (i=0; i<numRows;i++){
printf("%d|",i);
for (j=0; j<numCols;j++){
printf("%i|",pt[i][j]);
}
}
}
Am Anfang dachte ich, dieser Fehler kam von Codeblocks, aber ich versuche zu machen wieder ohne ein Projekt zu erstellen und es hat nicht funktioniert. Und meine anderen Programme scheinen zu funktionieren. Also, was ist los mit meinem Code? Ich habe meinen Parameter überprüft, aber es scheint in Ordnung, vielleicht ist es meine Art, ein zweidimensionales Array als Parameter zu verwenden? Der Fehler ist:
||=== Build: Debug in Sudoku (compiler: GNU GCC Compiler) ===| ||error: ld returned 1 exit status| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Ich habe dies im Buildprotokoll:
obj\Debug\main.o:main.c:(.data+0x0): first defined here obj\Debug\SudokuS.o:SudokuS.c:(.data+0x4): multiple definition of `numCols' obj\Debug\main.o:main.c:(.data+0x4): first defined here collect2.exe: error: ld returned 1 exit status
Es ist ein Linker-Fehler ist. Sie vermissen irgendwo eine Datei ... – Shark
Wie kann ich das beheben? Warum erscheint es nur mit diesem Projekt und diesen Dateien und nicht anderen? – KIToRe
@Shark: "* Eine Datei * fehlt"? "* Mehrfachdefinition von' numCols '* "! – alk