Jak zbuildować programik tak, by działał też na innych komputerach.
Robię tak:
Normalnie daję Build/Build Solution, a następnie zapisuję i kopiuje z plików plik cośtam.exe. Daję go na pulpit, uruchamiam i wszystko działa, a jak przeniosę na pendrive'ie do szkoły, to nie chce się włączyć.
Wiecie, o co może chodzić? Może trzeba jakoś dołączyć do tego pliku biblioteki czy cóś? Pomóżcie.
Problemik z Microsoft Visual C++ Studio
-
- Użytkownik
- Posty: 13
- Rejestracja: 22 mar 2009, o 14:42
- Płeć: Mężczyzna
- Podziękował: 2 razy
-
- Użytkownik
- Posty: 13
- Rejestracja: 22 mar 2009, o 14:42
- Płeć: Mężczyzna
- Podziękował: 2 razy
Problemik z Microsoft Visual C++ Studio
Nic z tego.
Przy buildowaniu wyskakuje mi 19 błędów:
i co?
Kod wygląda tak:
Nie wiem, czy dobrze rozumiem, że chodzi o jakieś zbieżności nazw z bibliotek iostream i MSVCP90D.dll (???).
Przy buildowaniu wyskakuje mi 19 błędów:
Kod: Zaznacz cały
1>source.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned long)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::operator>>(unsigned long &)" (??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAK@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" (?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: static int __cdecl std::char_traits<char>::eof(void)" (?eof@?$char_traits@D@std@@SAHXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: int __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBEHXZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: int __thiscall std::ios_base::width(int)" (?width@ios_base@std@@QAEHH@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>source.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
Kod wygląda tak:
Kod: Zaznacz cały
#include<iostream>
using std::cin;
using std::cout;
int main()
{
unsigned long a=0, b=1, n, x;
cout<<"Podaj numer elementu ciagu Fibonacciego, ktorego wartosc chcesz znac:";
cin>>n;
cout<<"
";
switch(n)
{
case 1:
x=a;
break;
case 2:
x=b;
break;
default:
for(int i=2;i!=n;i++)
{
x=a+b;
a=b;
b=x;
}
break;
}
cout<<"element nr "<<n<<" ma wartosc "<<x<<"
";
}
- kolanko
- Użytkownik
- Posty: 1905
- Rejestracja: 9 gru 2006, o 14:23
- Płeć: Mężczyzna
- Lokalizacja: Łańcut
- Podziękował: 32 razy
- Pomógł: 172 razy
Problemik z Microsoft Visual C++ Studio
Mialem taka sytuacje .. napisalem aplikacje w vc++ i nie chodzila u qmpla gosc zainstalowal frameworka i wszystko dziala jak nalezy. spróbuj .
-
- Użytkownik
- Posty: 13
- Rejestracja: 22 mar 2009, o 14:42
- Płeć: Mężczyzna
- Podziękował: 2 razy
Problemik z Microsoft Visual C++ Studio
To nie jest takie proste, bo nie chodzi tu o jakiś jeden konkretny komputer, a poza tym i tak nie dam rady nic w szkole zainstalować, bo to może robić tylko admin.
Jestem pewien, że jakoś da się to "naprawić" w samym Visual C++'sie.
Może ktoś jest na tyle obeznany z tym programem, by zrozumieć te komunikaty o błędach.
Pomóżcie, plis.
Jestem pewien, że jakoś da się to "naprawić" w samym Visual C++'sie.
Może ktoś jest na tyle obeznany z tym programem, by zrozumieć te komunikaty o błędach.
Pomóżcie, plis.
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
Problemik z Microsoft Visual C++ Studio
Nie programuję już w C++, dlatego niezbyt precyzyjnie postaram się pomóc.
W opcjach projektu znajdź opcję jak mają być dołączane biblioteki do niego. Należy bodajże zmienić build na release. (musisz poszukać, bo nie mam pojęcia gdzie dokładnie to było)
Build z debug'a wymaga bibliotek, które są dostarczane z Visual Studio, więc nie znajdziesz ich na zwyczajnym komputerze. Dlatego należy powiedzieć kompilatorowi, że ma je do projektu dołączyć.
Pozdrawiam.
W opcjach projektu znajdź opcję jak mają być dołączane biblioteki do niego. Należy bodajże zmienić build na release. (musisz poszukać, bo nie mam pojęcia gdzie dokładnie to było)
Build z debug'a wymaga bibliotek, które są dostarczane z Visual Studio, więc nie znajdziesz ich na zwyczajnym komputerze. Dlatego należy powiedzieć kompilatorowi, że ma je do projektu dołączyć.
Pozdrawiam.
-
- Użytkownik
- Posty: 13
- Rejestracja: 22 mar 2009, o 14:42
- Płeć: Mężczyzna
- Podziękował: 2 razy
Problemik z Microsoft Visual C++ Studio
Tak, to chyba rzeczywiście, o to chodziło.
Teraz plik cośtam.exe z 39 KB urósł do 156 KB. Zaraz wyślę to koledze, żeby sprawdził, czy działa.
Dzięki wielkie za pomoc.
EDIT: Właśnie mi odpisał, że wszystko działa poprawnie. Dzięki raz jeszcze.
Teraz plik cośtam.exe z 39 KB urósł do 156 KB. Zaraz wyślę to koledze, żeby sprawdził, czy działa.
Dzięki wielkie za pomoc.
EDIT: Właśnie mi odpisał, że wszystko działa poprawnie. Dzięki raz jeszcze.