Ok, nach längerem hin und her hab ich den Schuldigen ausgemacht. Das Problem war folgendes:
Ich habe im Headerdateienverzeichnis aus Versehen eine check_string.cpp erstellt.
Dann habe ich die check_string.cpp in check_string.h umbenannt.
Dann habe ich im Quelldateienverzeichnis die check_string.cpp
Fazit: Visual Studio 2010 (Ultimate) scheint nicht damit klar zu kommen, wenn man eine Datei umbenennt und dann eine neue Datei mit dem alten Namen der umbenannten Datei erstellt.
Hi
ich habe es bei mir hinbekommen, von der entwicklermaschine aus mit gdb eine remote session auf dem Zielsystem (gdbserver) durchzuführen.
jetzt versuche ich das selbe mittels Eclipse. Eclipse bietet ja viele Möglichkeiten, aber ich finde leider keine Stelle wo ich die Portnummer des gdbservers konfigurieren kann...bzw die Stelle wo ich es konfiguriere (gdbserversettings) scheint nicht die richtige Stelle zu sein.
Auf jeden Fall versucht Eclipse bei mir eine Kommunikation über den Port 0 und nicht auf dem Port, den ich in den gdbserversettings konfiguriert habe.
Error during file upload.
Daemon failed to launch server on SERVER using port 0
Daemon failed to launch server on SERVER using port 0
Daemon failed to launch server on SERVER using port 0
ich arbeite hier mit
Version: Indigo Service Release 1
Build id: 20110916-0149
Da sind die Fenster irgendwie alle anders im Vergleich zu den im WWW zu findenden Beschreibungen/Screenshots
schonmal Danke für die Hilfe.
Ihr erinnert mich da an etwas.
Gab es nicht mal Benchmark-Programme, die speziell auf Compiler oder Hardware bestimmter Hersteller/Anbieter geeicht waren
Also wer bezahlt die Entwicklung des Benchmark-Programms? Dann gezielt den Quelltext des Programms so schreiben, das es den Wünschen des Auftragsgebers genehm ist.
Also hier zum Thema, identifizieren welcher Compiler das Programm erstellt hat und die Ergebnisse passend formulieren.
Oder, wenn es nicht ganz so auffällig werden soll, schauen bei jeder Funktion wo der eine oder der andere Compiler punktet und entsprechend nur die Funktionen im Benchmark-Test nutzen.
Viel Spass
f.-th.
cooky451 schrieb:
Linkst du die .lib denn mit?
Was meinst du damit genau?
In dem Ordner C:\cpplapack\lib64 stehen die benötigen .lib-Dateien. Entsprechend wird "-LC:\cpplapack\lib64" als Parameter verwendet. Oder muss noch irgendwas in den Quelltext geschrieben werden?
Edit:
Ich glaube, ich muss auch noch die einzelnen Bilbiotheken einzeln nennen. Allerdings bekommme ich immernoch Fehler:
(ich hab jetzt den Ordner lib statt lib64 genommen, vllt kommt mein Compiler nicht mit 64bit zurecht oder sowas)
g++ -LC:\cpplapack\lib -o Linear Algebra.exe src\vector.o src\matrix.o src\Useful.o src\SlowRM.o src\RandomMatrix.o src\Polynomial.o src\Linear Algebra.o src\IndrandRM.o -llibf2c -lBLAS -lclapack
Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
...
Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
C:\cpplapack\lib/clapack.lib(./Release/dgesvd1.obj):(.text[_dgesvd_]+0x2f4): undefined reference to `s_cat'
C:\cpplapack\lib/clapack.lib(./Release/dgesvd1.obj):(.text[_dgesvd_]+0x10a6): undefined reference to `s_cat'
...
C:\cpplapack\lib/clapack.lib(./Release/dlarfg1.obj):(.text[_dlarfg_]+0x1bc): undefined reference to `f2c_dscal'
C:\cpplapack\lib/clapack.lib(./Release/dlarfg1.obj):(.text[_dlarfg_]+0x232): undefined reference to `f2c_dscal'
(Zwischen den Punkten sind jeweils noch sehr viele ähnliche Fehler)
Edit:
Ich hab heute nochmal rumprobiert. Plötzlich funktioniert alles, ich hab aber absolut keine Ahnung warum...
Hallo
Schau doch bitte mal unter den Option im VS2010 nach welche Pfade er für die Includes benutzt, und bitte kopiere die komplette Kompiler-Fehlermeldung ins Forum, dann geht es auch einfacher dir zu helfen.
MfG Marc-o
Ist die Frage zu unklar beschrieben?
Oder zuviel Troll-Gefahr?
Ich habe mich zwar schon ein wenig erkundet, würde aber gerne noch die eine oder andere Stimme zu cmake / scons hören, bevor ich mich endgültig entscheide.
BerndFranzen schrieb:
Habe ich etwas vergessen oder versuche ich etwas, was nicht geht?
Aktiviere zusätzliche Compiler-Warnungen, damit der Code sauber und portabel bleibt. Für strengste Warnungen siehe z.B. meinen Beitrag hier: http://www.c-plusplus.net/forum/256461-full (es ist inzwischen zwei drei Jahre her, schaue zusätzlich in der gcc Doku nach)
hallo,
#include <ansi_c.h>
#include <windows.h>
static int Test_function(char *sText);
int main()
{
Test_function("noserial");
return 0;
}
static int Test_function(char *sText)
{
AnsiUpperBuff(sText, strlen(sText));
return 0;
}
diesen Code lässt sich problemlos in labwindows kompilieren und ausführen.
in visual studio kommt es zu einer Zugriffverletzung bei Aufruf von AnsiUpperBuff.
ich habe das problem so gelöst
static int Test_function(char *sText)
{
[b]char text_Temp[40] = {0x0};[/b]
[b]strcpy(text_Temp,sText);[/b]
AnsiUpperBuff(text_Temp, strlen(text_Temp));
return 0;
}
ich musste vorher den konstanten string in einem Buffer umkopieren und dann die Funktion übergeben. warum verhalten sich die zwei IDE so unterschiedlich? oder hat jemand eine Erklärung für dieses Vrhalten
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Für mich liest sich das alles so, als ob das nur funktioniert wenn man ein Projekt benutzt. Da ich aber meistens nur eine bzw. zwei mit eigenem Header brauche, funktioniert das also nicht. Was ein Schrott.
Tja, bei mir is es das selbige Problem.
Ich programmierte schon mal stark in C bzw. C++, liegt aber Jahre zurück.
Aktuell programmiere ich Industrielle Roboter und muss wieder in C stärker werden.
Ok sagte ich mir und fing wider an mit VS-Express und kann nach der Installation kein Projekt erstellen. Das Projekt "****" wird erstellt... Fehler beim Erstellen des Projekts.
naja, früher sagten wir immer ein schöner Gruß von B.G., von der F. Microbensoft eben.
Daran hat sich bis heute nicht viel geändert.
Genauso diverse Antworten.
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Klaus82 schrieb:
Aber ich denke damit ist mehr die Auflösung eines Rätsels, Puzzles, Knotens oder Verwirrung gemeint?
So ist das auch zu verstehen. Kann der Linker einen Verweis auf eine Funktion nicht eindeutig auflösen (weil sie z.B. mehrfach oder überhaupt nicht definiert ist), schlägt die Lösung des "Rätsels" fehl und der Linker beschwert sich. Genau das ist hier bei dir passiert. Der eigentliche generierte Code befindet sich bei dir in rng.o. Das Inkludieren des Headers in eine andere Datei führt lediglich dazu, dass bekannt gemacht wird, wie genau diese Funktion zu benutzen ist.
Mit CMake selbst hatte ich einige Mühe, bis ich es mir halbwegs beibringen konnte. Noch nützlich fand ich diese Serie von Videotutorials, aber keine Ahnung ob dir das was bringt
Klaus82 schrieb:
Also merken: In die Hauptdatei des Programms, wo int main(){} steht, nur header Dateien NAME.h includieren.
Falsch!
Nicht nur in der Hauptdatei sondern in allen *.cpp Quellcodedateien nur header Dateien *.h includieren!
Die zugehörigen cpp Dateien separat kompilieren.
Makefiles benutzen!