VC++ - Problem mit "msvcprt.lib" u.a. - Linker Einstellungen - Ofeli Library

26/07/2011 - 11:17 von Ernst Sauer | Report spam
Hallo,
ich versuche mit VC++ 2010 Express die FEM-Lib Ofeli (vielleicht kennt
jemand diese) zu installieren.
Es gibt eine ofeli.sin (startfàhig mit ++ 9) und ein makefile.vc (auch
rmd.bat und mkd.bat ??? ).

Die Projektmappe besteht aus mehreren Projekten.
Zunàchst erstellt man eine ofeli.lib. Dies gelingt mir nur mit den
Einstellungen /clr /MD

Dann sollte man individuelle .exe erstellen können. Angeboten wird z.B.
eine lesson 1. Diese Aufgabe gelingt mir nicht und der
Programmhersteller (franz. Uni) antwortet nicht.

Wàhle ich die Einstellungsvariante
/GF /Gm- Nein Standard /MD Standard /GS /Gy Nicht festgelegt /fp:precise
dann bekomme ich die Fehlermeldung
1> Erstellen gestartet: Projekt: ofeli, Konfiguration: Release
Win32
1> ofeli.vcxproj -> C:\ofeli\tools\Win32\vcpp\Release\ofeli.lib
2> Erstellen gestartet: Projekt: lesson1, Konfiguration: Release
Win32
2> main.cpp
2>LINK : fatal error LNK1104: Datei "msvcprt.lib" kann nicht geöffnet
werden.
= Erstellen: 1 erfolgreich, Fehler bei 1, 0 aktuell, 0
übersprungen
Bei anderen Einstellungen bekomme ich andere Fehlermeldungen.

Danke für einen Tipp
Gruß
E.S.

Ich füge noch die Lib-Einstellungen aus der makefile,vc bei:
# Compile flags
# -

!IF "$(NODEBUG)" == "1"
cflags = /c /nologo /ML /w /W0 /GX /FD /Zm200 /D "WIN32" /D "NDEBUG" /D
"_MBCS" -Fp$(TMPDIR)\
ldflags !ELSE
cflags = /c /nologo /MLd /w /W0 /Gm /GX /FD /GZ /ZI /Od /D "WIN32" /D
"_DEBUG" /D "_MBCS" -Fp$(TMPDIR)\
!ENDIF

CFLAGS = $(cflags) $(INCLUDES) $(DEFINES)

# Link flags
# -

!IF "$(NODEBUG)" == "1"
ldflags !ELSE
ldflags = /debug
!ENDIF

# declarations common to all linker options
ldflags = /NOLOGO

LDFLAGS = $(ldflags) /incremental:yes
 

Lesen sie die antworten

#1 Ulrich Eckhardt
26/07/2011 - 12:54 | Warnen spam
Ernst Sauer wrote:
ich versuche mit VC++ 2010 Express die FEM-Lib Ofeli (vielleicht kennt
jemand diese) zu installieren.
Es gibt eine ofeli.sin (startfàhig mit ++ 9) und ein makefile.vc (auch
rmd.bat und mkd.bat ??? ).



Was ist "++ 9"? VC9? VS2009? Vorsicht mit den Dingern, VC8.0 ist z.B.
VS2005! Ein Hinweis auf jeden Fall: Wenn Du ein Upgrade bzgl der Version
machst, dann musst Du aufpassen dass nicht eventuelle Objektfiles etc noch
von der alten Version rumliegen.


Die Projektmappe besteht aus mehreren Projekten.
Zunàchst erstellt man eine ofeli.lib. Dies gelingt mir nur mit den
Einstellungen /clr /MD



"/MD" ist fuer die Runtime (Multithreaded DLL, WIMRE), das sollte nie
notwendig sein von Hand einzustellen es gibt dafuer einen Tab in den
Properties. Das sollte fuer die lib und alle benutzenden Projekte auf
"Multithreaded DLL" plus eventuell "Debug" stehen.

Was eventuell auch noetig/sinnvoll waere ist dass Du das Library-Projekt als
"Dependency" der Executables setzt, VS macht dann eigentlich immer das
richtige.

Ich hatte in den Auszuegen aus dem Makefile auch gesehen dass _MBCS
definiert wird, also musst Du eventuell noch das verwendete "Character Set"
von Unicode auf "Multi Byte Character Set" stellen.


2>LINK : fatal error LNK1104: Datei "msvcprt.lib" kann nicht geöffnet
werden.



Wenn das in den Projekteinstellungen nicht explizit drin steht, dann ist das
per #pragma in irgendeinem Objektfile oder Library verankert. Daher auch der
initiale Kommentar dass Du die loeschen solltest.


Uli

Domino Laser GmbH
Geschàftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932

Ähnliche fragen