# c++ fatal error



## MedRamBO (18. Oktober 2007)

hey leute,

ich bin neu hier und habe ein problem mit meinem vs2005... wenn ich mein programm compiliere und dann erstelle kommt eine nachricht auf die folgendes behinhalted:
LINK : fatal error LNK1181: cannot open input file 'C:\Dokumente.obj'

ich weiß nicht warum.. vielleicht ist es in den einstellungen irgentwo.. (linker einstellungen oder so) aber ich weiß nicht wie ich überprüfen kann ob das richtig ist.. vielleicht könnt ihr mir weiter helfen --> ist es möglich das der Fehler irgentwas mit dem sdk von august zu tun hat? ich bin nciht 100%ig sicher aber die probleme traten glaub ich nach der installation von sdk auf. zunächst fing es damit an das meine includes nicht funktionierten.. wie zum beispiel d3dmath.h.... das hab ich unter einstellungen_linker_includes_path   gelöst.. 
naja, habe auch schon versucht framework und vs 2005 zu deinstallieren.. danach neu installiert.. aber immer noch die selben probleme.. google hilft mir nicht mehr weiter, deswegen frage ich hier weil es so aussieht als wären hier einige schlaue leute unterwegs  

danke für jede hilfe die kommt


----------



## MedRamBO (18. Oktober 2007)

keiner ne idee?    mist ey.......


----------



## sheel (18. Oktober 2007)

Geh im Arbeitsplatz auf Laufwerk C-Ansicht-Ordneroptionen-Dateitypen

Jetzt suchst du nach der Reihe alle Dateitypen die mit dem Compiler zu tun
haben, wie c, cpp, h, obj, dsw...

Beim Öffnen etc einer solchen datei sind ja immer programmpfade von MSVC angegeben
Am Ende ist sowas wie %s oder %1 etc

das setzt du unter Anführungszeichen

Am besten bei allen dateitypen, die damit was zu tun haben

Sheel


----------



## MedRamBO (19. Oktober 2007)

Es klappt immer noch nicht. Habe mal meine Linker Einstellungen kopiert. Ist auf Englisch weil ich die Englische Version habe. Ich hoffe jemand findet ein Fehler. Noch mal zur erinnerung, wenn ich auf Build Project gehe, tritt folgende Error Nachricht auf:

------ Build started: Project: Ogoid++, Configuration: Debug Win32 ------
Linking...
LINK : fatal error LNK1181: cannot open input file 'C:\Dokumente.obj'
Build log was saved at "file://c:\Dokumente und Einstellungen\RamBO\Desktop\Data\project\Ogoid_modified\Debug\BuildLog.htm"
Ogoid++ - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========




Linker Settings:

general linker: $(OutDir)\$(ProjectName).dll

input linker : psapi.lib $(SolutionDir)\misc\detours.lib

manifest file linker: $(IntDir)\$(TargetFileName).intermediate.manifest

debuggin linker: $(TargetDir)$(TargetName).pdb

system linker: EFI Boot Service Driver (/SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER)

optimization linker: $(TargetDir)$(TargetName).pgd

advanced importing lib linker: $(TargetDir)$(TargetName).lib

command line: /OUT:"C:\Dokumente und Einstellungen\RamBO\Desktop\Data\project\Ogoid_modified\Debug\Ogoid_mod ified.dll" /NOLOGO /DLL /MANIFEST:NO /DEBUG /PDB:"c:\Dokumente und Einstellungen\RamBO\Desktop\Data\project\Ogoid_modified\Debug\Ogoid_modified.pdb" /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /ERRORREPORTROMPT psapi.lib C:\Dokumente und Einstellungen\RamBO\Desktop\Data\project\Ogoid_modified\\misc\detours.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib


----------



## deepthroat (19. Oktober 2007)

Hi.

Der Fehler liegt aller Wahrscheinlichkeit nach darin, dass der Pfad 
	
	
	



```
C:\Dokumente und Einstellungen\RamBO\Desktop\Data\project\Ogoid_modified\\misc\detours.lib
```
 nicht in doppelte Anführungszeichen gesetzt ist.

Suche in den Projekeinstellungen die Stelle wo du die detours.lib angegeben hast und setze den Wert in "".

Gruß


----------



## MedRamBO (19. Oktober 2007)

ne leider auch nicht.. ich geb euch ne hilfe indem ich euch ne auflistung davon gebe wo welche dateien sind.

Linker Einstellungen:

/OUT:"C:\Dokumente und Einstellungen\RamBO\Eigene Dateien\Visual Studio 2005\Projects\project\Ogoid++botTHEONE\Debug\Ogoid++.dll" /NOLOGO /DLL /MANIFEST:NO /DEBUG /PDB:"c:\Dokumente und Einstellungen\RamBO\Eigene Dateien\Visual Studio 2005\Projects\project\Ogoid++botTHEONE\Debug\Ogoid++.pdb" /SUBSYSTEM:WINDOWS /PGD:"c:\Dokumente und Einstellungen\RamBO\Eigene Dateien\Visual Studio 2005\Projects\project\Ogoid++botTHEONE\Debug\Ogoid++.pgd" /IMPLIB:"c:\Dokumente und Einstellungen\RamBO\Eigene Dateien\Visual Studio 2005\Projects\project\Ogoid++botTHEONE\Debug\Ogoid++.lib" /ERRORREPORTROMPT "C:\Dokumente und Einstellungen\RamBO\Eigene Dateien\Visual Studio 2005\Projects\project\Ogoid++botTHEONE\misc\detours.lib"  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

Error Meldung:

------ Build started: Project: Ogoid++, Configuration: Debug Win32 ------
Linking...
LINK : fatal error LNK1220: '/PGD' requires '/LTCG:[PGINSTRUMENT|PGOPTIMIZE]' specification
Build log was saved at "file://c:\Dokumente und Einstellungen\RamBO\Eigene Dateien\Visual Studio 2005\Projects\project\Ogoid++botTHEONE\Debug\BuildLog.htm"
Ogoid++ - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Projekt Speicherort:

C:\Dokumente und Einstellungen\RamBO\Eigene Dateien\Visual Studio 2005\Projects\project\Ogoid++botTHEONE

im oben genannten ordner befinden sich folgende sachen:

-bf2 (ordner)

--->demo (ordner)
-------->bf2_classes.h
-------->bf2_defines.h
--->r14 (ordner)
-------->bf2_classes.h
-------->bf2_defines.h
--->r141 (ordner)
-------->bf2_classes.h
-------->bf2_defines.h
--->bf2.h
--->bf2_classes_names.h
--->bf2_general.cpp
--->bf2_general_defines.h
--->bf2_general_functions.h

-cheats (ordner)

--->aimbot.cpp
--->aimbot_helper.cpp
--->aimbot_helper.h
--->cheat_base.cpp
--->cheat_base.h
--->cheats.cpp
--->cheats.h
--->cheats_detours.cpp
--->cheats_detours.h
--->screenshot.cpp

-d3d (ordner)

--->d3d9.dev.cpp
--->d3d9dev.h
--->d3dhook.cpp
--->d3dhook.h
-Debug (ordner)

--->aimbot.obj
--->aimbot_helper.obj
--->bf2_general.obj
--->BuildLog.htm
--->cheat_base.obj
--->cheats.obj
--->cheats_detours.obj
--->d3d9dev.obj
--->d3dhook.obj
--->detour_wrapper.obj
--->detoured_functions.obj
--->ogoid++.ilk
--->ogoid++.obj
--->ogoid++.pdb
--->screenshot.obj
--->strings.obj
--->vc80.idb
--->vc80.pdb
-misc(ordner)

--->CXR.exe
--->cxr_inc.h
--->detour_wrapper.cpp
--->detour_wrapper.h
--->detours.h
--->detours.lip
--->detours.pdb
--->encrypted_strings.h
--->savedisc.cpp
--->safedisc.h
--->strings.cpp
-config_file.cpp

-configuration_switches.h

-default_includes.h

-detoured_functions.cpp

-ogoid++.cpp

-ogoid++.h

-ogoid++.ncb

-ogoid++-.ncb

-ogoid++-.sln

-ogoid++.suo (versteckt)

-ogoid++-.suo (versteckt)

-ogoid++.vcproj

-Output-Build.txt


----------



## deepthroat (19. Oktober 2007)

Hi.

Erstmal: Bitte halte dich an die Netiquette, insbesondere Punkt 15!


MedRamBO hat gesagt.:


> ne leider auch nicht..


Wieso? Es hat doch schon geholfen - die Fehlermeldung ist doch jetzt eine völlig andere.


MedRamBO hat gesagt.:


> Linking...
> LINK : fatal error LNK1220: '/PGD' requires '/LTCG:[PGINSTRUMENT|PGOPTIMIZE]' specification


Diese Fehlermeldung sagt aus, dass wenn du die Option /PGD angibst auch die andere Option angeben mußt.

Gruß


----------



## MedRamBO (19. Oktober 2007)

Tut mir leid. Bin halt noch ein Grünschnabel  Werde in Zukunft auf die Grammatik in meinen "Posts" achten.



> Diese Fehlermeldung sagt aus, dass wenn du die Option /PGD angibst auch die andere Option angeben mußt.



Hast Du eine Idee was ich wo ergänzen muss? Und ein großes Dankeschön das du mir hilfst


----------



## deepthroat (19. Oktober 2007)

Hi.

Du müßtest bei den Linker Optionen in den Projekteinstellungen entweder "/ltcg:pgi" oder "/ltcg:pgo" hinzufügen.

Gruß


----------



## MedRamBO (19. Oktober 2007)

Hi deepthroat,

erst einmal danke für deine schnelle Antwort. Zwei kurze Fragen noch dazu:

1. Zu welcher Option in den Linkereinstellungen muss das hinzugefügt werden?
Zur Auswahl gehören bei mir: General, Input, Manifest File, Debugging, System, Optimization, Embedded IDL, Advanced

2. Füge ich das dann ganz normal mit dem Oder-Operand "||" hinzu?


----------



## deepthroat (19. Oktober 2007)

Hi.

Kann ich dir nicht sagen.

Am besten da wo auch die /pgd Option steht.

Gruß

PS: Du weißt schon, das diese Optionen für's Profiling verwendet werden, oder? Wenn du kein Profiling machen willst, solltest du die Option /pgd einfach entfernen.


----------



## MedRamBO (19. Oktober 2007)

deepthroat hat gesagt.:


> Hi.
> 
> Kann ich dir nicht sagen.
> 
> ...



Ich code jetzt ca. 1 Jahr C++. Deshalb sind es auch so viele Dateien in meinem Programm. Nur was von "Profiling" hab ich nocht nie gehört. Kannst du mir das näher erklären? Irgentwie muss ich den Fehler ja weg bekommen


----------



## deepthroat (20. Oktober 2007)

MedRamBO hat gesagt.:


> Ich code jetzt ca. 1 Jahr C++. Deshalb sind es auch so viele Dateien in meinem Programm. Nur was von "Profiling" hab ich nocht nie gehört. Kannst du mir das näher erklären?


Mann kann damit das Laufzeitverhalten des Programms untersuchen, feststellen wo Flaschenhälse sind und dann gezielt optimieren.



MedRamBO hat gesagt.:


> Irgentwie muss ich den Fehler ja weg bekommen


Das habe ich dir doch schon gesagt: Wenn du deinen Code nicht mit dem Profiler untersuchen willst, dann nimm einfach die Option /PGD weg. Wenn nicht, dann füge eine der anderen Optionen hinzu.

Gruß


----------

