|
|
Nem feltétlenül MSVC-related a kérdés, de jelen esetben az. Ha van egy program, amibe különféle static libeket fordítok (libpng, freetype, stb.), és a runtime library statikusan fordul a programba ill. a többi lib-be, akkor ezek a lib-ek ugye nem tartalmazzák külön-külön is a runtime libraryt, hanem csak egyszer fordul össze az egész, amikor a végleges programot fordítom?
|
|
|
Köszönöm az információt mindenkinek!
|
|
|
Idézet comrade92 :
Esetleg a Catalyst-ban nem kapcsoltaad be véletlenül az MLAA élsimító eljárást? Az az ilyen felületeket is próbálja "simítani"
Na, erre nem gondoltam volna! Köszönöm szépen!
VultureHunter: ha érdekelnek a régiségek, akkor ajánlom még az MFC-t. Eleinte nehéz, de aztán könnyen bele lehet tanulni. Ha viszont multiplatformban gondolkozol, akkor wxWidgets!
|
|
|
Nekem van egy könyvem valahol, az a címe, hogy Könnyű a Windowst programozni. Apró szépséghibája, hogy elég régi, ha jól emlékszem még win3.1 -re (vagy win95-re) íródott.  De a példaprogikat feltölthetem ha érdekel..
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
|
Megtudnátok mondani, hogy hol találhatok szakirodalmat a Windows dialógusok programozásához? Bármilyen forrás érdekel, de egy szakkönyvnek örülnék a legjobban, mert kellene egy biztos alap. Ha esetleg volt már ilyen jellegű kérdés, akkor bocs..., a segítséget pedig előre is köszönöm!
|
|
|
Esetleg a Catalyst-ban nem kapcsoltaad be véletlenül az MLAA élsimító eljárást? Az az ilyen felületeket is próbálja "simítani"
|
|
|
rakjál fel képet a problémáról hogy lássuk.
Kapcsold ki a ClearType szövegsimítást a Windows-ban, hátha.
|
|
|
Sziasztok!
Segítségeteket szeretném kérni.
Windows 7 Pro x64 (eredetileg angol, de később magyarított) oprendszeren Visual Studio 2010-et használom. Nagyon sokáig sikerült vele dolgoznom, de nem olyan régen egyszerűen használhatatlanná vált, ugyanis teljesen elmosódott minden, még a menük is. Annyira elmosódik, hogy a kódom teljesen olvashatatlanná válik. Régebben volt ilyen gondom, akkor még csak a 3ds Max esetén történt ilyen, de az megoldódott egy .NET 4 feltelepítésével. Most hiába rakom újra, frissítem, nem oldódik meg semmi. Keresgélek a neten megoldásokat, de ott sem találok semmit, ami használna.
Ati 6850-es kártyám van, a legújabb driverre frissítve, jó a VGA kábelem (ha valaki erre gondolna).
Volt már valamelyikőtöknek ilyen gondja? Van valakinek ötlete, megoldási javaslata?
Segítségeteket előre is köszönöm.
|
|
|
@Asylum: Múkodik!  Thx!!
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
Kód: inline void CWindow::SetText(const std::string& text) {
Text = text;
SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM)Text.c_str());
}
Vagy pedig WM_PAINT-ben DrawText().
|
|
|
Winapi-ban hogyan kell runtime állítani egy "Static Text" control Caption-jét? Vagy azért static, mert nem is lehet?  Csak egy egyszerű string-et akarok kiiratni (ami egy "Slider" mellet mutatná a %-ot). Vagy "Edit Box"-al kellene? De hát csak output-ot akarok nem inputot..  Vagy hogy a fenébe lehet egy vacak kiíratást a legegyszerűbben megoldani?..
Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
|
|
|
Köszönöm a gyors válaszokat, sokat segítetteket
PS: értem én, hogy miért így csinálja a projecteket, csak kicsit idegesítő, mikor még nincs rá szükséged  (de legalább nem kell majd a makefile-lal szenvedni, mikor már arra lesz szükség...)
|
|
|
Ki lehet zárni a buildből fájlokat, jobbklikk rajta, tulajdonságok -> action vagy build action vagy ilyesmi: none.
Illetve a projectből is ki lehet zárni őket törlés nélkül, jobbklikk -> exclude from project.
|
|
|
Ez nem a vs alapelve, ez többnyire a fordítók alapelve... míg pythonban egy fordítási egységket közvetlenlü be tudsz adni az interpreternek addig C++-ban ez nem igy megy; egy programnak csak egy belépési pontja lehet. A projekthez hozzáadott forrásfájlok pedig mind hozzátartoznak a programhoz.
64 bit: project settings
|
|
|
A VS alapelve, hogy a programokat projektekbe zárja. Ez elég logikus, ha belegondolsz, hogy a legtöbb program nem egyetlen fájlból fog állni, így tudja mit mivel kell és lehet összefordítani.
A megoldás rémesen egyszerű, indítsd új projektet, amikor új dolgot csinálsz. Ha meg csak kísérletezel, akkor töröld ki a régi main függvényt, és kész. Vagy nevezd át.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
|
|
|
Tudom, hogy nem szeretitek az ilyet, de jelenleg nincs időm visszaolvasni, hogy feltették-e már előttem ezt a kérdést. Bocsi.
Visual C++ 2010 Expresst használok (tegnap szedtem le), és a Stroustrup féle könyvből kezdtem ma el a C++ alapoktól való tanulását (kb. középszintű Pascal és nagyon alapszintű Python, C, PHP ismereteim már vannak). Viszont meggyűlt a bajom a VC-vel...
Először próbáltam szimpla forrásfájlt létrehozni, és azt fordítani. Ezt persze nem engedte az a vacak (nesze neked, könnyísünk az ember dolgán alapelv). Na, akkor létrehoztam egy projectet, és beillesztettem egy forrást. A "Hello World" már megy, happy az ember  . Beillesztek, még egy forrást, beírom a kódot, nincs is benne hiba, csak ez a vacak össze akarja linkelni a helloworldös programmal, hogy majd ő benyomja nekem egyetlen exe-be. Persze, nem tetszett neki a két main függvény... Próbáltam simán a compile parancsot, de akkor csak object fájlokat hozott létre, külön buildelni nem tudtam.
Erre van valami ésszerű megoldás?
Persze, tudom, hogy ha létrehozok új projectet, akkor megy, de az létrehoz egy csomó felesleges fájlt. Törölni meg nem akarom az előző forrást (bár, a hello-s program még mehetne a kukába), mivel szeretném egyben megőrizni a begépelt programokat. Szóval a törölgetés az csak a végső megoldás nálam.
Másik kérdés: 64 bites windowsom van, de nem láttam 64 bites MSVC-t, mint letöltési lehetőséget. Gondoltam, biztosan 32 bites a keretrendszer, de majd a 64 bites rendszeren natív 64 bites binárist fog csinálni, de csalódnom kellett. Persze, ez jelenleg nem gond, csak érdekelne, hogy el lehet-e érni, hogy 64 bitest fordítson?
|
|
|
Aha, kössz
|
|
|
Expressben nem tudom, hogy van-e (szerintem nincs), de MSDN a neve, és létezik/létezett belőle offline változat is.
Keress rá, ha minden igaz, ingyen letölthető.
-- meg lettem előzve --
|
|
|
Idézet moggebe :
Van a visual studio 2008 express edition cuccokban valahol egy normális HELP, ami internet nélkül is működik?
Alapból nincs de asszem lehet hozzá telepíteni az MSDN offline verzióját. Bár jobban jársz ha az online-t használod.
Reality is almost always wrong. - House
|
|
|
Van a visual studio 2008 express edition cuccokban valahol egy normális HELP, ami internet nélkül is működik?
|
|
|
Hali
Visual studioban (2005) hogy lehet megadni hogy melyik dll-eket fordítsa bele és melyiket ne a programba?
A problémám az hogy SDL-t használok és akkor engedi lefordítani, ha a dll-eket nem fordítja bele a programba, de akkor más dll-eket se fordít és akkor más gépeken meg nem indul el.
Ezt a hozzászólást Mystro módosította (2008.12.21 11:51 GMT+1 óra, ---)
|
|
|
megoldodott...töröltem minden object fájlt.
|
|
|
van egy érdekes problémám...egyik pillanatról a másikra elkezdett hülyeségeket irkálni a vs:
Kód: error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base_secure::~_Container_base_secure(void)" (__imp_??1_Container_base_secure@std@@QAE@XZ) referenced in function "protected: __thiscall std::_Container_base_aux_alloc_empty<class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > >::~_Container_base_aux_alloc_empty<class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > >(void)" (??1?$_Container_base_aux_alloc_empty@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@std@@@std@@IAE@XZ)
error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base_secure::_Container_base_secure(void)" (__imp_??0_Container_base_secure@std@@QAE@XZ) referenced in function "protected: __thiscall std::_Container_base_aux_alloc_empty<class std::allocator<class XMLParser::CXMLNode *> >::_Container_base_aux_alloc_empty<class std::allocator<class XMLParser::CXMLNode *> >(class std::allocator<class XMLParser::CXMLNode *>)" (??0?$_Container_base_aux_alloc_empty@V?$allocator@PAVCXMLNode@XMLParser@@@std@@@std@@IAE@V?$allocator@PAVCXMLNode@XMLParser@@@1@@Z)
még az életbe nem láttam ilyet...g++ al semmi gond, illetve release módban sem. wtf
Ezt a hozzászólást Asylum módosította (2008.12.19 07:48 GMT+1 óra, ---)
|
|
|
Ja, hogy úgy 404 
Akkor én kérek elnézést, 1-et próbáltam ki, az pont ment.
Mindegy, ilyen témájú könyveket beszerezni viszonylag egyszerű. Főleg ha jó az angol nyelvű is.
|
|
|
Fele már hiányzik.
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
|
|
|
kizárt dolog!
http://jfebook.extra.hu/ - most is működik!!
doksi.hu - szintén működik, most néztem meg.
ebookz.hu - ez is megy
próbáljátok meg újra, vagy nemtom, de 100% hogy megy mindhárom.
|
|
|
Idézet Asylum :
gl.: 3 linket probáltam, mindegyik 404 
//Sajnos akkor bezárt a bazár. Szerencsére már leszedtem,amit kellett anno.
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
|
|
|
sorvégejel.
Kód: ..<= 10\n");
itt ezt
gl.: 3 linket probáltam, mindegyik 404
|
|
|
|
és mi lenne az a jel amit lehagytél ??
Idézet Asylum :
lehagytam egy sorvégejelet de attol eltekintve tökéletesen müködik

|
|
|
lehagytam egy sorvégejelet de attol eltekintve tökéletesen müködik
|
|
|
Ez pl nem irja ki hogy páros e vagy páratlan csak akkor ha a 2 szám összege 50 vagy felette van.. mért van ez???
Idézet Asylum :
nos
1) ez nem C++, hanem C
2) C-ben nincs // komment csak /* */
3) a main mindig int-et kell, hogy visszadjon (ne érdekeljen a gányolt visual studio)
4) a kódolási stílus fontos; rengeteg olyan kódot látok amit valami hihetelenül ocsmányan írnak és kínszenvedés végigolvasni
5) optimalizáció: az elején a plusz b-t vizsgálod, aztán c-nek értékül adod, nem célszerübb a vizsgálat elött?
6) azt, hogy egy szám párose nagyon nem igy döntjük el 
példaként ide irom neked javitva, ahogy általában el is fogadják
Kód: #include <stdio.h>
int main()
{
int a, b, c;
printf("Kerem az elso szamot: ");
scanf("%d", &a);
printf("Kerem az masodik szamot: ");
scanf("%d", &b);
c = a + b;
printf("\nEredmeny: %d\n", c);
/* ha a és b egyenlő 7 akkor irja ki hogy egyenlő 7 */
if (c == 7)
printf("ez a szam egyenlo 7-el\n");
/* különben ha a és b > mint 10 akkor irja ki hogy > mint 10 */
else if (c > 10)
printf("ez a szam nagyobb mint 10\n");
/* egyébként */
else
printf("ez a szam nem egyenlö 7-el es <= 10");
/* ha a 2-vel való osztási maradék 1 akkor páratlan */
if (c % 2)
printf("ez a szam paratlan\n");
else
printf("ez a szam paros\n");
if (c > 20)
printf("ez a szam nagyobb mint 20");
system("pause");
return 0;
}
és mivel C ezért a fájl nevét is célszerü akármi.c -nek választani
szerk.: ahh elkéstem....
|
|
|
nos
1) ez nem C++, hanem C
2) C-ben nincs // komment csak /* */
3) a main mindig int-et kell, hogy visszadjon (ne érdekeljen a gányolt visual studio)
4) a kódolási stílus fontos; rengeteg olyan kódot látok amit valami hihetelenül ocsmányan írnak és kínszenvedés végigolvasni
5) optimalizáció: az elején a plusz b-t vizsgálod, aztán c-nek értékül adod, nem célszerübb a vizsgálat elött?
6) azt, hogy egy szám párose nagyon nem igy döntjük el
példaként ide irom neked javitva, ahogy általában el is fogadják
Kód: #include <stdio.h>
int main()
{
int a, b, c;
printf("Kerem az elso szamot: ");
scanf("%d", &a);
printf("Kerem az masodik szamot: ");
scanf("%d", &b);
c = a + b;
printf("\nEredmeny: %d\n", c);
/* ha a és b egyenlő 7 akkor irja ki hogy egyenlő 7 */
if (c == 7)
printf("ez a szam egyenlo 7-el\n");
/* különben ha a és b > mint 10 akkor irja ki hogy > mint 10 */
else if (c > 10)
printf("ez a szam nagyobb mint 10\n");
/* egyébként */
else
printf("ez a szam nem egyenlö 7-el es <= 10\n");
/* ha a 2-vel való osztási maradék 1 akkor páratlan */
if (c % 2)
printf("ez a szam paratlan\n");
else
printf("ez a szam paros\n");
if (c > 20)
printf("ez a szam nagyobb mint 20");
system("pause");
return 0;
}
és mivel C ezért a fájl nevét is célszerü akármi.c -nek választani
szerk.: ahh elkéstem....
Ezt a hozzászólást Asylum módosította (2008.12.13 16:50 GMT+1 óra, ---)
|
|
|
esetleg tudnál ajállani valami könvyet/ebook-ot?
|
|
|
nincs azzal gond, ha eleinte nem érted, de szerintem felesleges rögtön az első nap kódolni. persze nem baj ha kipróbálod, legalább lesz egy kis sikerélményed, de akkor kezdhetted volna valami egyszerűbbel is 
javaslom, hogy szerezz be néhány könyvet / ebookot, és az alapján haladj, meglátod, hogy a könyvekben is van példakód, és ott sem ilyennel kezdik.
aztán amikor már mennek az alapok, akkor viszont jó ha találsz ki magadnak feladatokat, gyakorolsz.
|
|
|
mint irtam ma kezdtem ugyhogy fogalmam nincs hogy kellene kinéznie ... de amugy köszi ez már müködik
|
|
|
te jó ég, ez a kód nagyon... csúnya 
és alapjaiban rossz, szerintem...
ha egy nagyobb progit is ehhez hasonlóan építenél fel (értelmetlen feltételvizsgálatok, értelmetlen többszöri összeadás, "favágó" módszerek, stb), akkor nagyon hamar elakadnál vele.
nem értem, minek az a sok feltétel, ha csak annyit akarsz kiiratni, hogy páros-e az összeg vagy sem.
ja és nem szabványos. a main fgv int-tel tér vissza.
meg döntsd, el, hogy akkor C, vagy C++, mert ha az utóbbi, akkor kihasználhatod pl azt is, hogy bárhol lehet változót definiálni, ahol utasítás állhat. te inkább c-szerű kódot írtál, de nem baj az.
C kód, nem próbáltam ki:
Kód: #include <stdio.h>
int main(void)
{
int a, b, osszeg;
printf("Kerem az elso szamot: \n");
scanf("%d", &a);
printf("Kerem a masodik szamot: \n");
scanf("%d", &b);
osszeg = a + b;
printf("Az osszeg: %d\n", osszeg);
// maradékos osztás a % operátorral...
if( osszeg % 2 )
{
printf("Az osszeg paratlan!\n");
}
else
{
printf("Az osszeg paros!\n");
}
return 0;
}
|
|
|
Sziasztok ma kezdtem el c++ ozni , idáig nem programoztam ugyhogy nézzétek el nekem ha hülyeséget kérdezek de irtam egy kódot gyakorlásként és az a lényege hogy összead 2 számot és kiirja hogy páros vagy páratlan e de itt a probléma csak akkor irja ki hogy páros vagy páratlan ha a 2 szám eredménye 50 felett van.... mi lehet a gond??? ja és itt a kód:
#include <stdio.h>
#include <conio.h>
void main()
{
int a,b,c;
printf("Kerem az eslo szamot: \n"  ;
scanf("%d",&a);
printf("Kerem az masodik szamot: \n"  ;
scanf("%d",&b);
printf("Eredmeny: %d",a+b);
//---------------------------------------------------------------------------------------------------------------
if (a+b == 7) // ha a és b egyenlő 7 akkor irja ki hogy egyenlő 7
printf("\n7egyenlo7"  ;
//---------------------------------------------------------------------------------------------------------------
else // külömben ha a és b nagyobb mint 10 akkor irja ki hogy nagyobb mint 10
if (a+b > 10)
printf("\nez a szam nagyobb mint 10\n"  ;
//---------------------------------------------------------------------------------------------------------------
else // ha a és b nem egyenlő 7 akkor irja ki hogy nem egyenlő 7
if (a+b !=7)
printf("\nnem egyenlo 7"  ;
//---------------------------------------------------------------------------------------------------------------
c = a+b;
switch(c)
{
case '2' :
case '4' :
case '6' :
case '8' :
case '10':
printf("\nParos"  ;
break;
case '1' :
case '3' :
case '5' :
case '7' :
case '9' :
printf("\nParatlan"  ;
break;
default:
if (a+b>20)
printf("\nNagyobb mint 20"  ;
break;
}
getch();
}
|
|
|
Köszönöm, Emese
Hát, most konkrétan az OGL-lel felhagytam, SDL-ezgetek
Az argc, argv meg csak most fagy ki, nem tudom, mi lehet vele, hiszen a paramétereket( argv, argc ) nem használom
|
|
|
joga #1:
vmi lib kellhet, beállíthatod vagy a project properities (vc6-ban nemtom hol is van már), vagy kódban (azelőtt mielőtt ezeket használnád)
esetleg ilyesmik kellhetnek: (me no OGL  )
Kód: #pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "glaux.lib")
utána vmi inklúdok, ha nem lenne:
Kód: #include <gl\gl.h>
#include <gl\glu.h>
joga #2: ezt nem értem, régebben/másmivel írt forrás kifagy? miféle fv-k vannak benne? (esetleg egy kisebb példa..)
üdv: Emese. (akinek megköszönheted  )
|
|
|
Most épp írogatok egy aranyos kis programot, de amikor hozzátársítok egy fájlt, akkor "Hibajelentés küldése" típusú hibaüzenettel leáll, akkoris, ha csak az értéküket használom fel, más esetben tökéletesen működött, szóval VisualC++ alatt mi produkál ilyesmit?
|
|
|
Hát, szvsz a kód nem okozhat ilyen hibaüzeneteket:
Kód: c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : error C2144: syntax error : 'void' should be preceded by ';'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : error C2146: syntax error : missing ';' before identifier 'glAccum'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : error C2182: 'APIENTRY' : illegal use of type 'void'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1153) : error C2144: syntax error : 'void' should be preceded by ';'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1153) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1153) : error C2086: 'int WINGDIAPI' : redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : see declaration of 'WINGDIAPI'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1153) : error C2146: syntax error : missing ';' before identifier 'glAlphaFunc'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1153) : error C2182: 'APIENTRY' : illegal use of type 'void'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1153) : error C2086: 'int APIENTRY' : redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : see declaration of 'APIENTRY'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1153) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1154) : error C2146: syntax error : missing ';' before identifier 'GLboolean'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1154) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1154) : error C2086: 'int WINGDIAPI' : redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1152) : see declaration of 'WINGDIAPI'
c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(1154) : error C2146: syntax error : missing ';' before identifier 'glAreTexturesResident'
|
|
|
Hmm 
Akkor valami kódrészletet betehetnél ide.
Meg a hibaüzenetekből az első néhányat.
|
|
|
Kipróbáltam, úgy sem megy
|
|
|
mert nincs előtte #include <windows.h> ?
|
|
|
Nem tudja valaki, hogy amikor az SDL-es, OGL-es programot le akarom fordítani VC-vel, akkor miért jelez a gl.h -ban 143 hibaüzenetet?
|
|
|
pont az a baja. azt irjak, hogy a forditok altal hasznalt dll a kulonbozo, ami a rossz telepites kovetkezmenye. reinstall talan megoldja
|
|
|
valami konrkét kód okozza? mert nálam még sosem volt ilyen probléma (még sp1 nélkül se)
|
|
|
|
Legújabb project:
Smashed Potatoes
Legutóbb frissített project:
Smashed Potatoes
Friss kép a galériából:
|