Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Šta je potebno da bi radio C++ dll

[es] :: .NET :: Šta je potebno da bi radio C++ dll

[ Pregleda: 1016 | Odgovora: 14 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 409
*.37.eunet.yu.

Sajt: www.todicsoft.com


Profil

icon Šta je potebno da bi radio C++ dll15.07.2007. u 22:53

Prvobitno sam napravio program ceo u C# jeziku i sve je radilo na svakom kompu koji je imao instaliran .NET framewrork 2.0 ili noviji. Zatim sam jedan dll uradio u Managed C++ i sada program radi samo na kompjuterima na kojim ima instaliran Visual Studio. Kada se pokrene program, a ako VS nije instaliran, pojavi se ista ona poruka kao kad dođe do neobrađenog izuzetka i piše da nije pronađen fajl od kojega valjda zavis taj .dll. Dakle to sigurno nije neki fajl tipa slike ili nešto slično već u vezi .NET-a.
I sad sam zbunjen, ne znam šta treba da dostavim uz taj dll rađen u C++ for .NET-u da bi radilo.
Pravio sam sve to u Visual Studio 2005.

Imate li neku ideju?
15.07.2007. u 22:53 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 9030
212.200.70.*

Sajt: www.diskusije.net


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 00:01
Managed C++ takodje zahteva .NET Framework. Jesi li ga imao instaliranog na tim racunarima na kojima prijavljuje gresku?
16.07.2007. u 00:01 

milanche
San Francisco

Član broj: 2447
Poruke: 783
*.hsd1.ca.comcast.net.



Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 00:48
Hoce da radi samo tamo gde imas instaliran VisualStudio ?

Cisto onako odoka (educated guess) sve mirise na to imas Debug verziju DLL-a.

Release verzija DLL-a bi trebalo da po default-u ima sve DLL-ove od kojih zavisi u okviru
regularne Windows instalacije, tj. ne bi ti trebao instaliran Visual Studio.

Probaj da iskompajliras Release verziju DLL-a pa javi kako radi u toj kombinaciji.

16.07.2007. u 00:48 

Dragi Tata

Član broj: 1958
Poruke: 3899
*.hsd1.ma.comcast.net.

Sajt: www.novetehnologije.com


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 02:05
http://www.microsoft.com/downl...20b62a191ee&displaylang=en
16.07.2007. u 02:05 

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 409
*.123.eunet.yu.

Sajt: www.todicsoft.com


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 12:35
@Shadowed
Pa naravno.

@milanche
Hm, pa ja i ne znam kako da razlikujem te dve stvari? Uglavnom, imao sam jedan Solution i unutar njega par projekata. Kad hoću da ih "izgradim" idem na Build-> RebuildAll. Šta se dobija na taj način?

Dragi Tata je upravu
Hvala vam!

Nisam znao da je ovo potrebno jer sam do skora koristion VS 2003 a u njemu to nije bilo potrebno( ili je na neki način bilo "sakriveno" od mene ).
16.07.2007. u 12:35 

Dragi Tata

Član broj: 1958
Poruke: 3899
65.213.80.*

Sajt: www.novetehnologije.com


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 13:22
Citat:
toxi_programer
Nisam znao da je ovo potrebno jer sam do skora koristion VS 2003 a u njemu to nije bilo potrebno( ili je na neki način bilo "sakriveno" od mene :) ).


Nije bilo potrebno, ali tehnologija "napreduje" pa je sad potrebno.

Osim naravno, ako statički linkuješ CRT.
16.07.2007. u 13:22 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2414
*.maxre.bm.

Sajt: blog.mitrovic.rs


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 14:57
Citat:
Dragi Tata: Osim naravno, ako statički linkuješ CRT.


Zar nije ovo disabled u VS2005 zbog tog njihovog famozonog fusiona i side-by-side versioninga?

[Edit: pobrkah loncice, zaboravi da sam pitao ovo :)]

[Ovu poruku je menjao mmix dana 16.07.2007. u 16:11 GMT+1]
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
16.07.2007. u 14:57 

Dragi Tata

Član broj: 1958
Poruke: 3899
65.213.80.*

Sajt: www.novetehnologije.com


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 15:12
Nije. Mi sve linkujemo statički - klijent nam je jedan dll koji se posle poziva iz MS Worda. Evo šta kaže MSDN:

http://msdn2.microsoft.com/en-us/library/2kzt1wy3(vs.80).aspx

Edit: kasno si dodao komentar :) Verovatno si mislio na single-threaded verzije CRT-a
16.07.2007. u 15:12 

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 409
*.49.eunet.yu.

Sajt: www.todicsoft.com


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 16:48
Jako mi glupo deluje što se to ne dostavlja uz .NET framework.
Inače, pojma nemam o čemu pričate
16.07.2007. u 16:48 

Dragi Tata

Član broj: 1958
Poruke: 3899
65.213.80.*

Sajt: www.novetehnologije.com


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 16:51
Citat:
toxi_programer: Jako mi glupo deluje što se to ne dostavlja uz .NET framework.


Možeš da napraviš instaler iz Visual Studija i onda ti taj paket ne treba.
16.07.2007. u 16:51 

milanche
San Francisco

Član broj: 2447
Poruke: 783
*.hsd1.ca.comcast.net.



Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 17:29
Citat:

Hm, pa ja i ne znam kako da razlikujem te dve stvari? Uglavnom, imao sam jedan Solution i unutar njega par projekata. Kad hoću da ih "izgradim" idem na Build-> RebuildAll. Šta se dobija na taj način?


Idi na Build->Configuration Manager, pa izaberes Release version. Posle u opcijama (Alt F7 -> C++ -> Optimization) imas nekoliko
mogucnosti optimizacije koda (Minimize Size, Maximize Speed,....) a mozes i da stavis No Optimization.

Cisto iz radoznalosti (iako znam da ce da radi po receptu Dragog Tate) - pokusaj da setujes Release verziju i rekompajliras samo
za Visual C++ DLL projekat i distribuiras ga uz ostalo bez runtime i installera, zanima me kako bi samo ta promena uticala
na krajnji rezultat (tj. da li bi radilo ili ne bez instaliranog Visual Studio-a).

Jos od Win98 su release verzije DLL-ova (Win32, MFC, ATL,...) mogle da rade samo oslanjajuci se na DLL-ove koji stizu sa
operativnim sistemom, pa mi je malo cudno da bi backward compatibility princip prestao da vazi, tim pre sto bi .NET runtime vec
trebalo da je instaliran.











[Ovu poruku je menjao milanche dana 16.07.2007. u 18:39 GMT+1]

[Ovu poruku je menjao milanche dana 16.07.2007. u 18:51 GMT+1]
16.07.2007. u 17:29 

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 409
*.124.eunet.yu.

Sajt: www.todicsoft.com


Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 21:51
@Milanche
Neće da radim kad stavim Release za taj dll :(
A i veličina ista.
Opet, moguće da sam ja nešto pogrešio, ću proverim.

Dragi tata, to znači da će instaler da uključi sve potrebne "delove" pa samim tim i taj runtime?
16.07.2007. u 21:51 

milanche
San Francisco

Član broj: 2447
Poruke: 783
*.hsd1.ca.comcast.net.



Profil

icon Re: Šta je potebno da bi radio C++ dll16.07.2007. u 22:10
Tatko,

(ako je tacno sto je toxi pronasao, mada ista velicina DLL-a zvuci malo cudno) stvano - zasto cak i Release verzija
zahteva bilo sta drugo osim sto vec dolazi uz Windows ?
16.07.2007. u 22:10 

Dragi Tata

Član broj: 1958
Poruke: 3899
65.213.80.*

Sajt: www.novetehnologije.com


Profil

icon Re: Šta je potebno da bi radio C++ dll17.07.2007. u 12:36
Citat:
milanche: Tatko,

(ako je tacno sto je toxi pronasao, mada ista velicina DLL-a zvuci malo cudno) stvano - zasto cak i Release verzija
zahteva bilo sta drugo osim sto vec dolazi uz Windows ?



VC++ 2005 zahteva svoje verzije standardnih biblioteka (CRT, CPP, MFC, ATL...) a one ne dolaze uz Windows (jednostavno, novije su od XP-ja). Recimo, sa VC++ 6.0 si manje-više siguran da svaki Windows od 98 pa na ovamo ima msvcr.dll, mfc42.dll itd u System folderu, ali za novije kompajlere to baš nije tako. Sa verzijama VC 2002 i 2003 si u tom slučaju mogao da strpaš sve potrebne dllove u isti folder gde ti je i exe i to je radilo super, a sad su izmislili nekakve manifeste i koncept "side-bz-side assemblies": http://msdn2.microsoft.com/en-us/library/ms235299(VS.80).aspx

Naravno, kao što rekoh, uvek možeš da linkuješ statički i onda nema potrebe da vučeš te dllove.
17.07.2007. u 12:36 

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 409
*.206.eunet.yu.

Sajt: www.todicsoft.com


Profil

icon Re: Šta je potebno da bi radio C++ dll17.07.2007. u 17:22
Znači da sam lepo podesio to što je milanče rekao ali da tako ipak neće da može
A kako, mislim gde da podesim da bude statičko linkovanje?
17.07.2007. u 17:22 

[es] :: .NET :: Šta je potebno da bi radio C++ dll

[ Pregleda: 1016 | Odgovora: 14 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.