06. februar 2003 - 16:41
Der er
28 kommentarer og 2 løsninger
HaSTER: problem med compail af autorun script
Jeg har lavet følgende der skal auto-starte en .htm fil på en cd-rom: #include <ShellAPI.hpp> WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ShellExecute(0,\"open\",\".\\\\sider\\\\start.htm\",0,0,SW_NORMAL); return 0; } Men når jeg prøver at compaile det, får jeg følgende fejl: Compiling... autorun.cpp autorun.cpp(1) : fatal error C1083: Cannot open include file: 'ShellAPI.hpp': No such file or directory Error executing cl.exe. autorun.obj - 1 error(s), 0 warning(s)
Annonceindlæg fra Publicis Sapient
06. februar 2003 - 16:47
#1
Jeg går stærkt ud fra du bruger Borlands compiler..?
06. februar 2003 - 16:48
#2
Det er jo tydeligvis fordi compileren ikke kan finde filen, altså skal du have sat stien op til den i dit udviklingsmiljø...
06. februar 2003 - 16:49
#3
jeg bruger visual c++
06. februar 2003 - 16:49
#4
hvad er det for en sti? og hvor skal den sættes op?
06. februar 2003 - 16:49
#5
Så hedder filen jo shellapi.h
06. februar 2003 - 16:50
#6
VC++ bruger som standard 'h' som efternavn til headerfiler, ikke 'hpp'
06. februar 2003 - 16:54
#7
Du skal include windows.h altså: #include <windows.h> WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ShellExecute(0, "open", ".\\sider\\start.htm", 0, 0, SW_NORMAL); return 0; }
06. februar 2003 - 17:00
#8
Nu får jeg følgende fejl: Compiling... autorun.cpp Linking... LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/autorun.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. autorun.exe - 2 error(s), 0 warning(s)
06. februar 2003 - 17:02
#9
Det tyder på det er et console projekt du har oprettet og ikke et Windows projekt..?
06. februar 2003 - 17:30
#10
Du skal angive at subsystem skal være "windows" istedet for "console". (i "linker options" i "project settings").
06. februar 2003 - 17:46
#11
jpk, du havde helt ret - Det er vidst lidt for længe sinde jeg har rodet med C++ er der en nem måde jeg kan ændre koden på, så den tager en variabel og sætter ind som det der skal køres, så jeg ex kan skrive: autorun.exe start\satrt.htm eller autorun.exe notepad.exe??
06. februar 2003 - 18:02
#12
Jeg plejer at bruge følgende: #include <windows.h> int main(int argc, char **argv) { if(argc==2) ShellExecute(NULL, "open", argv[1], NULL, NULL, SW_NORMAL); return 0; } Husk at sætte subsystem til "windows" - ellers popper der en konsolboks op.. Så kan man skrive (jeg kalder programmet execute): execute.exe notepad execute.exe index.html
06. februar 2003 - 18:21
#13
kanon, hvor sætter jeg subsystem til windows?? er det noget jeg skal sætte op i c++? hvis jeg nu vil have et specielt icon på min fil, er det så ikke bare at tilføje den til projektet?? har nemlig prøvet, men det virker ikke? Jeg har desværre kun in intro version, så det kan selvfølgelig være derfor jeg har problemer med iconet.
06. februar 2003 - 19:05
#14
Det er ved at være et års tid siden jeg sidst har prøvet MSVC++ - men jeg mener man angiver subsystem her: "Du skal angive at subsystem skal være "windows" istedet for "console". (i "linker options" i "project settings")." Det er en boks hvor alle parametre står i du skal kigge (der er flere linier og subsystem er et af de sidste parametre - så vidt jeg husker).
06. februar 2003 - 19:46
#15
hvad med icon, ved du hvordan jeg sætter det ind?
06. februar 2003 - 19:52
#16
Nej, det kan jeg ikke guide dig igennem (kan ikke huske det). Men du kunne jo bruge en "resource hacker" til at ændre ikonet i din exe fil. Søg selv på google..
13. februar 2003 - 07:19
#17
--> soreno Når jeg prøver at compaile det eksempel du har skrevet for logle post siden (eksemplet der kan tage alle slags filer) så får jeg følgende fejl: --------------------Configuration: autorun - Win32 Debug-------------------- Compiling... autorun.cpp Linking... LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/autorun.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. autorun.exe - 2 error(s), 0 warning(s)
13. februar 2003 - 09:13
#18
Kompilerer du til unicode?
13. februar 2003 - 10:02
#19
jeg skulle gerne kompilere til en exe fil
13. februar 2003 - 10:47
#20
Jeg er ikke i stand til at hjælpe da jeg ikke selv har adgang til MSVC++.
13. februar 2003 - 11:19
#21
ja ja, men bliver det kompileret som MBCS eller UNICODE? Prøv evt. at kigge under Project->Settings, fanebladet C++, Categori=General. I feltet Preprocessor definitions står sansynligvis enten angive _MBCS eller _UNICODE
13. februar 2003 - 11:29
#22
der står kun: WIN32,_DEBUG,_WINDOWS under defenitions. Jeg bruger Visual studio .net hvis jeg trykker på ... ud for defenitions kan jeg se at under inherited values står der _MBCS
13. februar 2003 - 14:30
#23
KAn jeg eventuelt få en af jer til at compilere den til mig, og sende den til min mail: k_moe_jensen@hotmail.com - sår nemlig at mangler den i en version der ikke er ophavsret på?
13. februar 2003 - 14:59
#24
13. februar 2003 - 21:35
#25
tusind mange tak :-)
17. februar 2003 - 18:25
#26
--> soreno jeg har prøvet din execute fil med følgende ini fil [autorun] OPEN=execute.exe /side/start.htm men den vil ikke virke, hvad gør jeg galt?
17. februar 2003 - 18:43
#27
hvis du struktur ser sådan ud: e:\autorun.inf e:\side\start.htm så skal det gøres sådan: OPEN=execute.exe side\start.htm
17. februar 2003 - 19:40
#28
Ken jeg ikke få det til at virke. Jeg får ingen fejl, men der bliver ikke åbnet noget, når jeg sætter cd'en i
17. februar 2003 - 19:40
#29
ups... Der skulle stå "Jeg kan ikke.."
17. februar 2003 - 21:23
#30
så har jeg selv fundet løsningen, jeg manglede \ foran side, så der skulle stå: OPEN=execute.exe \side\start.htm
Kurser inden for grundlæggende programmering