Problem beim linken unter VS Express 2005

Alles rund um die Programmierung mit Qt
Antworten
methusalem
Beiträge: 186
Registriert: 11. August 2005 08:21

Problem beim linken unter VS Express 2005

Beitrag von methusalem »

Moin,

ist vermutlich leicht OT da es nicht direkt ein QT Problem ist, ich hoffe aber, das Ihr mir trotzdem helfen könnt & wollt.

Meine Umgebung: Win XP, QT 4.2.2, VisualStudio Express 2005 und eine Lib eines Bekannten (soweit ich weiß mit VS 6 übersetzt).

Ich habe ein minimal QT Programm bestehend aus:

main.cpp
hauptfenster.cpp
hauptfenster.h
hauptfenster.ui

meine pro Datei sieht so aus:

Code: Alles auswählen

TEMPLATE = app
TARGET = 
DEPENDPATH += . include src ui
INCLUDEPATH += . include

# Input
HEADERS += include/hauptfenster.h
FORMS += ui/hauptfenster.ui
SOURCES += src/hauptfenster.cpp src/main.cpp

win32:LIBS += D:/Dokumente/Develop/QT_COMPort/lib/vlib2.lib
die main.cpp:

Code: Alles auswählen

#include <QtGui/QtGui>
#include <hauptfenster.h>
#include <stdio.h>
#include <vconnect2.h>

int main(int argc, char *argv[])
{
	QApplication app(argc,argv);
	app.setQuitOnLastWindowClosed(true);
	app.setStyle("plastique");

	StdBase * base = new StdBase;
	base->show();
	
	// Hier kommt nun testweise die Sache mit VConnect
	VConnect * vCom;
	vCom = new VConnect();
	vCom->open("COM1","9600:8:N:1");
	
	return app.exec();
}
Wenn ich das Programm übersetze, ohne das ich VConnect nutze, klappt es prima.
Wenn ich das allerdings nutzen möchte, bekomme ich folgende Fehlermeldung beim linken:

Code: Alles auswählen

D:\Dokumente\Develop\QT_COMPort>nmake

Microsoft (R) Program Maintenance Utility, Version 8.00.50727.42
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

    "C:\Programme\Microsoft Visual Studio 8\VC\BIN\nmake.exe" -f Makefile.Debug

Microsoft (R) Program Maintenance Utility, Version 8.00.50727.42
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

        cl -c -nologo -Zm200 -GS -Od -Zi -Gm -MDd -GR -EHsc -W3 -DUNICODE -DQT_L
ARGEFILE_SUPPORT -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
-DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"C:/Programme/Qt/4.2.2
-os/include/QtCore" -I"C:/Programme/Qt/4.2.2-os/include/QtCore" -I"C:/Programme/
Qt/4.2.2-os/include/QtGui" -I"C:/Programme/Qt/4.2.2-os/include/QtGui" -I"C:/Prog
ramme/Qt/4.2.2-os/include" -I"." -I"include" -I"C:/Programme/Qt/4.2.2-os/include
/ActiveQt" -I"debug" -I"." -I"c:\Programme\Qt\4.2.2-os\mkspecs\win32-msvc2005" -
Fodebug\ @C:\DOKUME~1\Martin\LOKALE~1\Temp\nm7.tmp
main.cpp
        link /LIBPATH:"c:\Programme\Qt\4.2.2-os\lib" /NOLOGO /DEBUG /SUBSYSTEM:W
INDOWS /incremental:no /OUT:"debug\QT_COMPort.exe" @C:\DOKUME~1\Martin\LOKALE~1\
Temp\nm8.tmp
vlib2.lib(vconnect.obj) : warning LNK4075: /EDITANDCONTINUE wird aufgrund der An
gabe von /INCREMENTAL:NO ignoriert.
LINK : fatal error LNK1104: Datei "libcid.lib" kann nicht geöffnet werden.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 8\VC\BIN\link.
EXE"": Rückgabe-Code "0x450"
Stop.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 8\VC\BIN\nmake
.exe"": Rückgabe-Code "0x2"
Stop.

D:\Dokumente\Develop\QT_COMPort>
Was hat VS nun mit libcid.lib am Hut? Kann mir jemand helfen? Ich stehe gerade auf dem Schlauch.
Martin
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Visual Studio interessiert sich nicht für deine pro-Datei, die Angaben musst Du schon in Visual Studio machen.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
methusalem
Beiträge: 186
Registriert: 11. August 2005 08:21

Beitrag von methusalem »

sorry, ich hab mein Vorgehen nicht richtig beschrieben.

Ich arbeite nicht im VS sondern auf der Konsole aber mit dem VS Compiler. Sonst hätte ich ja auch nicht die von mir gepostete Fehlermeldung bekommen können.

ich habe also auf der "DOS"-Konsole mit VS Umgebung

Code: Alles auswählen

qmake (aus pro-File wird Makefile)
nmake
eingegeben und dann die Fehlermeldung bekommen.
Martin
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

vlib2.lib ist ggf. eine statische lib und braucht deshalb die andere lib.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
methusalem
Beiträge: 186
Registriert: 11. August 2005 08:21

Beitrag von methusalem »

Laut dem Kollegen, der die Lib erstellt hat ist dies nicht so.

Kann es daran liegen, das er die Lib unter VS 6 erstellt hat und ich das ganze mit dem Compiler des VS 2005 nutze.
Martin
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ja, laut google kommt libcid.lib von msvc6 - wer benutzt einen solch alten Compiler noch??
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
methusalem
Beiträge: 186
Registriert: 11. August 2005 08:21

Beitrag von methusalem »

ich war bisher davon ausgegangen, das ich, wenn ich eine lib bekomme und nutzen will, ich mir dadurch keine weiteren Abhängigkeiten einfange.

Watt nu? Hat jemand ne Idee? Die Sourcen zu der Lib hab ich nicht, ich kann die also nicht bei mir übersetzen!
Martin
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nur Abhängigkeiten zur msvc runtime... naja also entweder Du benutzt msvc6 oder derjenige kompiliert es für msvc2005.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
methusalem
Beiträge: 186
Registriert: 11. August 2005 08:21

Beitrag von methusalem »

jou ... ich konnte Ihn davon überzeugen, das er es mir noch mal mit VSE 2005 übersetzt!

Danke für die Tipps
Martin
Antworten