Visual C++ 2010 uruchamianie projektu na innym komputerze
Ostatnio zmodyfikowano 2011-12-01 08:50
programista12 Temat założony przez niniejszego użytkownika |
Visual C++ 2010 uruchamianie projektu na innym komputerze » 2011-11-30 07:26:08 Na swoim komputerze mam Windows 7 i Visual C++ 2010. Chciałem uruchomić projekt stworzony w VC na innym komputerze, dodałem do folderu z programem wszystkie potrzebne DDLe (z SDL i Lua), ale jak chciałem uruchomić ten projekt (plik exe) na innym komputerze, to wyskoczył komunikat, że nie znaleziono pliku DLL. Jego nazwa miała w sobie "msvc". Nie wiem skąd wziąć ten DLL i jakie jeszcze DLLe są potrzebne. Czy można w opcjach projektu zrobić tak, aby nie potrzebne były inne pliki DLL, oprócz tych z SDL i Lua? |
|
DejaVu |
» 2011-11-30 10:18:26 Skompiluj projekt w wersji Release :) |
|
i514x |
Visual C++ 2010 uruchamianie projektu na innym komputerze » 2011-11-30 13:20:28 @UP: Sam osobiscie mialem taki problem i kompilacja w wersji Release nic nie dawala.
1) PPM na nazwe projektu > Properties. 2) Configuration Properties > C/C++ > Code Generation. 3) W polu Runtime Library, wybierz MT dla Release i MTd dla Debug.
pozdrawiam, i514x. |
|
programista12 Temat założony przez niniejszego użytkownika |
» 2011-11-30 17:29:11 @i514x Zrobiłem tak, jak mi radziłeś, ale kompilator wywala błędy: 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj) 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: _isspace already defined in LIBCMT.lib(_ctype.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: ___iob_func already defined in LIBCMT.lib(_file.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: _fopen already defined in LIBCMT.lib(fopen.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: _fgetc already defined in LIBCMT.lib(fgetc.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: _fclose already defined in LIBCMT.lib(fclose.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: _setvbuf already defined in LIBCMT.lib(setvbuf.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: _exit already defined in LIBCMT.lib(crt0dat.obj) 1>msvcrt.lib(MSVCR100.dll) : error LNK2005: _atoi already defined in LIBCMT.lib(atox.obj)
Próbowałem w opcjach linkera ignorować LIBCMT.lib, ale wtedy wyskakują błędy "unresolved external symbol". |
|
DejaVu |
» 2011-11-30 17:36:31 Zmieniając typ linkowania bibliotek domyślnych musisz zmienić również te, które linkujesz do projektu. Jeżeli żadnych bibliotek nie używasz w projekcie to zapewne rebuild załatwi sprawę. |
|
programista12 Temat założony przez niniejszego użytkownika |
» 2011-12-01 06:05:32 Zrobiłem rebuild, ale to nic nie daje. W projekcie używam libów SDL i Lua. |
|
DejaVu |
» 2011-12-01 08:50:37 To skompiluj SDL i LUA również w trybach MT. Nie można mieszać bibliotek skompilowanych MTd i MT. |
|
« 1 » |