Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
asjameez
Kreisi kasutaja

liitunud: 10.12.2006
|
15.03.2011 19:26:15
Binaari käivitamine: ikoon vs käsurida. |
|
|
Tere,
Mul on kirjutatud mõned C++/OpenGL demo programmid, mis töötavad käsurealt käivitades nii nagu peab.
Probleem tekib aga siis kui avada programm ikoonil klikkides. Programm ei leia üles alamkaustadesse pandud asju (mudelid, tekstuurid, shaderid jne).
Mismoodi saaks teha nii, et ikoonil klikkides leiaks samamoodi asjad üles?
Keeleks C++ ja platvorm hetkel Linux.
Tänud ette!
|
|
Kommentaarid: 63 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
61 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
15.03.2011 20:05:47
|
|
|
asjameez, kui tegu shortcutiga, siis jälgi et application directory oleks korrektselt seadistatud.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
asjameez
Kreisi kasutaja

liitunud: 10.12.2006
|
16.03.2011 03:22:11
|
|
|
Tegu ei ole shortcutiga. Käsurealt käivitades pead asuma samas kaustas kus binaar asub. Vastasel juhul ei leia programm teisi faile üles. Üles ei leita ka graafiliselt programmi avades.
Küsimus on, et kuidas C++ koodis niimoodi seada, et ükskõik kuidas seda käivitad, siis programm ise määrab oma asukoha juurikaks vms, et leiaks üles failid mis asuvad temaga samas kaustas või alamkaustades.
Näiteks tekstuuri laen ma nii:
Texture *t = new Texture("Data/Textures/Wood.jpg"); |
Proovitud on ka nii:
Texture *t = new Texture("./Data/Textures/Wood.jpg"); |
|
|
Kommentaarid: 63 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
61 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
Ohohh
Kreisi kasutaja

liitunud: 13.09.2003
|
16.03.2011 12:12:25
|
|
|
Ma võin nüüd veidi mööda panna, aga kas c main funktsiooni parameetrite esimene parameeter ei olnud programmi enda nimi? Ja kui käivitatud on muust kaustast koos teega failini, siis see on seal samuti olemas.
Võiks lihtsalt proovida, mis parameetrid kaasa tulevad, kui binary hiireklikist käivitad. Võibolla tuleb absoluutne path.
|
|
Kommentaarid: 6 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
6 |
|
tagasi üles |
|
 |
asjameez
Kreisi kasutaja

liitunud: 10.12.2006
|
16.03.2011 20:51:17
|
|
|
GLchar wd[1024];
getcwd(wd, 1024);
cout << wd << endl; |
Väljastab programmi asukoha, kuid seda sättida ei õnnestu.
Proovisin
,
ja
system("cd /home/karmo/Code/OpenGL/Tropics") |
|
|
Kommentaarid: 63 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
61 |
|
tagasi üles |
|
 |
murka_
HV vaatleja
liitunud: 05.08.2008
|
16.03.2011 20:54:24
|
|
|
Aga, kas sa ei saa programmi asukoha järgi neid teisi faile laadida eeldades, et need asuvad samas kaustas?
|
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
asjameez
Kreisi kasutaja

liitunud: 10.12.2006
|
16.03.2011 21:22:15
|
|
|
murka_ kirjutas: |
Aga, kas sa ei saa programmi asukoha järgi neid teisi faile laadida eeldades, et need asuvad samas kaustas? |
Peavõit
|
|
Kommentaarid: 63 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
61 |
|
tagasi üles |
|
 |
Urmet
HV vaatleja
liitunud: 29.07.2005
|
06.04.2011 12:51:46
|
|
|
asjameez kirjutas: |
GLchar wd[1024];
getcwd(wd, 1024);
cout << wd << endl; |
Väljastab programmi asukoha, kuid seda sättida ei õnnestu.
Proovisin
,
ja
system("cd /home/karmo/Code/OpenGL/Tropics") |
|
Noh, noriks natuke, et chdir(wd) palub programmil töökaust sättida samaks kaustaks, mis ta juba on. Ja system() ei tohigi töökaustaga jamada. Ning getcwd() annab sulle programmi enda kausta ainult sel juhul, kui sa käivitad programmi käsurealtprogrammi endaga samas kaustas asudes.
Kui programmi ühest kaustast teise tõstma ei hakka ja täpsete kaustateede programmi sisse kirjutamine ei sega, oleks kõige lihtsam teha chdir("/home/karmo/Code/OpenGL/Tropics");
|
|
Kommentaarid: 10 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
10 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|