Code::Blocks - wie man mehrere Quelldateien kompilieren
Ich versuche zu kompilieren Sie ein Programm mit mehreren Quelldateien - zwei CPP Dateien und eine header-Datei mit code::blocks. Als Beispiel habe ich die folgenden drei Dateien (ein Beispiel Programm erstellt, indem jemand auf einem anderen forum):
main.cpp:
#include <stdio.h>
#include "other.h"
int main (void)
{
printf("%d\n", getfavoritenumber());
return 0;
}
other.cpp
#include "other.h"
int getfavoritenumber(void)
{
return 3;
}
anderen.h
#ifndef _OTHER_H_
#define _OTHER_H_
int getfavoritenumber(void);
#endif
Trotz der Tatsache, dass diese drei Dateien sollte miteinander verbinden, erhalte ich die Fehlermeldung "die Verbindung von Stufe übersprungen (build-Ziel hat keine Objekt-Dateien, link)" wenn ich versuche, das Projekt zu erstellen.
Was mache ich falsch? Versuchen zu kompilieren die einzelnen Dateien zeigt die Fehlermeldung "diese Datei ist nicht belegt target".
Welche Art von Projekt hast du ausgewählt? Sollten Sie die Auswahl "Konsole-Anwendung."
InformationsquelleAutor Matt | 2011-05-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist was für mich gearbeitet:
Gehen Sie auf der linken Seite, die sagt, Projekte, und klicken Sie rechts auf .cpp-Datei. Wählen Sie Eigenschaften, dann gehen Sie zu bauen. Aktivieren Sie die Kontrollkästchen unter der überschrift Gehört in Ziele: "Debug" und "Release"
InformationsquelleAutor user2438062
Ich hatte ein ähnliches problem beim erstellen meines ersten multi-source-code-Projekt. ich glaube das problem ist nicht die Verknüpfung, sondern mit Ihnen die #include-Anweisung für mich ist das Verzeichnis der waren unterschiedlich zu dem, was ich erwartet hatte. die Kopf-Datei in ein Projekt, das ich zu schreiben hatte
#include "include/other.h"
haben Sie einen Blick auf, wie Ihre Ordner-system aufgebaut ist....wenn Ihr was posten könntet Ordner/Verzeichnis musst du in das Projekt, das ich vielleicht in der Lage sein, um Ihnen eine bessere Antwort.InformationsquelleAutor I Phantasm I
Ich hatte ein ähnliches Problem und festgestellt, dass wenn ich einfach geschlossen das Projekt, erstellt eine neue leere Konsole-Anwendung importiert dann die vorhandenen Dateien angefangen, die Dinge zu kompilieren Ordnung.
InformationsquelleAutor Jake1164
Habe ich dieses:
Erstellte ich eine Konsole-Projekt in Code::Blocks
Für jede Datei habe ich
File|New
eine leere Datei anlegen, fügte hinzu, es zu dem Projekt mit dem Namen, die Sie angegeben eingefügt und der entsprechende code aus Ihrer Frage in jeder Datei.Kompiliert und lief die resultierende ausführbare Datei.
Funktionierte alles wie erwartet. Wenn es nicht für Sie arbeiten, beschreiben Sie bitte, wie Sie das Projekt erstellt. Code::Blocks braucht unbedingt eine Projekt - es funktioniert nicht gut mit einzelnen Dateien. Wenn Sie möchten, verwenden Sie GCC in der Befehlszeile.
Edit:
Es ist generell eine gute Idee, installieren Sie den compiler getrennt von CB, das ist wirklich nur eine IDE. Ich gehe davon aus, dass wir auf Windows hier. Gehen Sie zu http://tdm-gcc.tdragon.net und laden Sie die neueste GCC-compiler von dort. Check it works von der Kommandozeile aus.
Dann in CB gehen
Settings|Compiler and Debugger
und wählen Sie dieToolchains executables
tab. Dann navigieren Sie zum Stammverzeichnis des Verzeichnisses, in dem Sie installiert die TDM-GCC-Zeug (die Wurzel, nicht das bin-Verzeichnis in der root), und alles sollte gut sein.Und wenn am Ende der Tag, an dem dies nicht funktioniert, versuchen Sie den CB-support-Foren, bei http://forums.codeblocks.org.
Siehe mein edit.
InformationsquelleAutor Neil Butterworth
Sicherzustellen, dass alle Dateien (.h und .cpp) wurden Hinzugefügt, um das Projekt mit Projekt - > "Dateien Hinzufügen..." - oder Projekt - >Hinzufügen von Dateien Rekursiv...
InformationsquelleAutor qwr