Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Visual C++05 EE,PSDK ja kääntäminen

tsuriga [06.11.2007 18:16:12]

#

Microsoftin sivuilta kävin Visual C++ Express Editionin ja Platform SDK:n, ja kun yritän kääntää ohjelmaa, saan satoja "error LNK2001: unresolved external symbol __imp__..." virheilmoituksia. Poluista löytyy tämmöstä, Platform SDK on asennettu tuonne VSInstallin juureen (..\Microsoft Visual Studio 8\PlatformSDK\). Nuo "symbolit" kyllä löytyvät Platform SDK:n Include-kansion header-tiedostoista, mutta linkkerille pitänee antaa .lib-tiedostoja? Puuttuuko minulta jotakin, vai enkö ole antanut linkerille kaikkia tarvittavia tietoja?

Linker command-line:

/OUT:"Release/Notepad2.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"Release\Notepad2.exe.intermediate.manifest" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /OPT:NOWIN98 /LTCG /MACHINE:X86 /ERRORREPORT:PROMPT comctl32.lib shlwapi.lib imm32.lib kernel32.lib

Compiler command-line:

/O2 /Ob1 /Oy /GL /I "Scintilla\include" /I "Scintilla\src" /I "Scintilla\win32" /D "STATIC_BUILD" /D "SCI_LEXER" /D "NDEBUG" /D "_VC80_UPGRADE=0x0700" /D "_MBCS" /GF /FD /EHsc /MT /Gy /Fo"Release\\" /Fd"Release\vc80.pdb" /W3 /nologo /c /Zi /TP /errorReport:prompt

Koko BuildLog

Onpahan muuten kauhea tämä online install, ei järin asentajaystävällinen kun pistät vahingossa väärään kansioon.

EDIT: Yritän siis kääntää Notepad2:sta, lisäsin siihen Intterwebsistä löytyneen Ruby-värityksen. Jos joku tahtoo kääntää tän miulle niin pistän sorsat palvelimelle, tässä tulee valmiiks mukaan VC++ Project -tiedosto.

neau33 [07.11.2007 05:35:15]

#

Moikka tsuriga!

kokeile seuraavaa...
*** Tutki ekaks C:\Program files kansiosta löytyykö kansio
\Microsoft Visual Studio .NET 2005\Vc8\lib
tahi
\Microsoft Visual Studio .NET 2003\Vc7\lib

Käynnistä -> Oma tietokone (nappaa päällä oikealla) -> Ominaisuudet -> Lisäasetukset -> Ympäristömuuttujat - tutki se alempi loota, jos löytyy
lib niin aktivoi ja valitse Muokkaa - tutki josko löytyy ***tapauksesta riippuen pätkä - ;C:\Program Files\Microsoft Visual Studio .NET 2005\Vc8\lib tahi ;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
- jos ei löydy niin lisää ja klikkaile OK:ta. Mikäli koko lib jutskaa ei löydy niin valitse Uusi kirjoita lib siihen ylempään lootaan ja kirjoita tapauksesta riippuen jompi kumpi noista poluista siihen alempaan lootaan...
Lisäks niille, jotka käyttävät esim. SharpDevelop'a ja Microsoft.NET SDK on asennettuna niin lisätkää samaiseen lib -jutskaan vielä: ;C:\Program Files\Microsoft.NET\SDK\v2.0\Lib - tohon v2.0 'väliin' tulee Framework'n versio

tsuriga [08.11.2007 04:00:48]

#

C:\Program Files\Microsoft Visual Studio .NET 2003\ alla ei ole tiedostoja, pelkkä tyhjä \Common7\IDE\. VC-kansio löytyy tästä polusta C:\Program Files\Microsoft Visual Studio 8\VC. lib-järjestelmämuuttujassa on polku C:\Program Files\Microsoft Visual Studio 8\PlatformSDK\Lib\.. Tämän sinne lisäsi luultavasti PlatformSDK:n juuresta löytyvä SetEnv.cmd, jonka ajoin.

EDIT: Lisäsin sekä järjestelmä- että ympäristömuuttujiin lib- ja include-polkuihin myös nuo Visual Studio 8\VC\Lib sekä \Include ja boottasin - ei vaikutusta.

Tässä vielä kuva tämänhetkisistä Lib-asetuksista VC++ '05 EE:ssä

neau33 [08.11.2007 06:48:02]

#

Moikka taas tsuriga!

tällaista kamaa pitäisi löytyä

tsuriga [09.11.2007 12:52:50]

#

Ei löydy samaisesta kansiosta, mutta jostain kyllä varmaankin. Näillä ohjeilla sain käännettyä. Käännetyssä ohjelmassa tuo lisätty Ruby-väritys ei tosin toimi, ja ohjelman exestä tuli 400kB isompi kuin virallisesta julkaisusta. Kiitoksia ohjeistuksesta.

EDIT: Itse asiassa, aiheeseen liittyen - tuo Ruby-väritys ei ilmeisesti toimi, koska ohjelma ei ole kääntänyt LexRuby.cxx-tiedostoa LexRuby.obj-tiedostoksi. Löytyykös neuvoa, kuinka lisään tuon tiedoston projektiin tässä VC++05EE:ssä / käännän sen objektitiedostoksi?

tsuriga [09.11.2007 14:22:48]

#

Itse itselleni vastaten, päädyin lisäämään tiedostot käsin Notepad2.vcproj-tiedostoon - nyt toimii sekä Ruby-, että Nsis-väritykset. Sain myös pienennettyä tiedostoa; UPX pienentää näköjään tiedostokokoa erittäin hulppeasti, .exen pakkaussuhteeksi tuli 42.90% ja tiedoston koko on nyt 269kB, mikä käy järkeen kun alkuperäinen julkaisu on 248kB.

Pistän ohjelman serverille kunhan kerkeän pystyttämään jonkinnäköiset sivut. Jos joku kaipaa ennemmin niin mailia tai viestiä keskusteluun.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta