Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > подключение библиотек


Автор: prolight 13.10.2008, 23:11
драсьте.у меня VS или 2005 или 2008,на коробке одно а на кмопе другое,не знаю какой из них.ближе к телу.как сделать так чтобы компьютер на котором нет VS понимал мои проги.он не записывает в программу библиотеки которые я подключаю #include.я видел как одна биолгическая масса полазила в проджект пропертис и оно начало записывать бибблиотеки в exe-шник.

Автор: IKM2007 14.10.2008, 03:54
Цитата(prolight @  13.10.2008,  23:11 Найти цитируемый пост)
.ближе к телу.как сделать так чтобы компьютер на котором нет VS понимал мои проги.он не записывает в программу библиотеки которые я подключаю #include.я видел как одна биолгическая масса полазила в проджект пропертис и оно начало записывать бибблиотеки в exe-шник.


prolight, для экзешника не нужен VS или какие то библиотеки, экзешник должен работать. Можешь поконкретнее сказать, что не так?
Цитата(prolight @  13.10.2008,  23:11 Найти цитируемый пост)
драсьте.у меня VS или 2005 или 2008,на коробке одно а на кмопе другое,не знаю какой из них.

то что на компе.

Автор: Rickert 14.10.2008, 04:00
prolight, вы хотите сказать, что ваша программа работает только в том случае, если с ней дежат заголовчные файлы? Я пропустил новую технологию? smile 

Автор: prolight 14.10.2008, 15:43
я имеюю ввиду что когда я запускаю exe-шник на компе на котором нет студии и никогда не было выдаётся что то вроде"не правильная программа ,попробуйте переустановить"

Автор: Rickert 14.10.2008, 16:57
prolight, так это неграмотная сборка, мой друг. Используйте поиск по форуму. Этот вопрос поднимался уже даже сегодня, вроде.

Автор: prolight 14.10.2008, 17:02
 у меня же на компе работает

Автор: Med 15.10.2008, 09:16
Цитата(Rickert @ 14.10.2008,  16:57)
prolight, так это неграмотная сборка, мой друг. Используйте поиск по форуму. Этот вопрос поднимался уже даже сегодня, вроде.

поднимался, но решения там не было.

простая программа
Код

#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}

как сделать что бы она запускалась на компе, где нет VS?

Автор: Annihilator 15.10.2008, 10:41
В свойствах проекта
С++->code generation->Runtime Library поставь флаг /MT

Автор: Med 15.10.2008, 14:13
Цитата(Annihilator @ 15.10.2008,  10:41)
В свойствах проекта
С++->code generation->Runtime Library поставь флаг /MT

если в Solution Configurations стоит Debug то выдает ошибки
Код

------ Build started: Project: test3, Configuration: Debug Win32 ------
Linking...
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
test.obj : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "protected: virtual char const * __thiscall std::ctype<char>::_Do_widen_s(char const *,char const *,char *,unsigned int)const " (?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0PADI@Z)
libcpmtd.lib(cin.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
libcpmtd.lib(cout.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __free_dbg referenced in function "void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)
libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_dbg referenced in function __Getctype
C:\Documents and Settings\Александр\Мои документы\Visual Studio 2008\Projects\test3\Debug\test3.exe : fatal error LNK1120: 4 unresolved externals
Build log was saved at "file://c:\Documents and Settings\Александр\Мои документы\Visual Studio 2008\Projects\test3\test3\Debug\BuildLog.htm"
test3 - 8 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



если Release, то все равно не запускается на другом компе

Автор: DjoNIK 15.10.2008, 14:17
http://forum.vingrad.ru/index.php?showtopic=231880&view=findpost&p=1668603

Автор: Med 15.10.2008, 14:54
прошу прощения, получилось.

как писали в другой теме
Код

для release версии - /Mt
для debug версии -  /Mtd 

Автор: prolight 17.10.2008, 10:11
Цитата(Annihilator @ 15.10.2008,  10:41)
В свойствах проекта
С++->code generation->Runtime Library поставь флаг /MT

спасибо,всё работает,только надо ещё выбрать режим компиляции-release

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)