1. скомилировать с библиотекой статически 2. поставить клиенту vs redistributable 3. скопироварть run time библиотеки в дирректорию програмы p.s. не нужно забывать компилировать в release (msvcr90d.dll - debug run time)
Great кстати, что за ОС? может ты в ней напишешь систему распределения прав между прогами? хотя, наверно, лучше для этого линь заюзать.
Project - Configuration Properties - C\C++ - Code generation - Runtime library. Либо ключ компилятору - /MT (/MTd для дебажной версии). Ещё можно использовать динамическую rtl, но в готовом бинарнике заменить в хекс-редакторе строку "msvcr90.dll" на "msvcrt.dll" :rolleyes:
UbIvItS ) ос просто для приобретения опыта, но не из серии "hello world защищенного режима", а полноценная ос, хотя бы на минимальном уровне. уже есть ядро с подсистемами - объектной, ввода-вывода, менеджером памяти, потоков, подгрузкой драйверов.. лан это не в тему немножко)
http://rsdn.ru/forum/message/2456923.aspx http://nn1234.wordpress.com/2008/04/11/vc-90-msvcrtdll-windows-95/#respond
NoName Я поставил в начало проекта Код (Text): #pragma comment(linker,"/NODEFAULTLIB") #pragma comment(linker,"/ENTRY:zmain") #pragma comment(linker,"/MERGE:.rdata=.text") #pragma comment(lib,"ntdll.lib") #pragma comment(lib,"kernel32.lib") #pragma comment(lib,"user32.lib") #pragma comment(lib,"msvcrt.lib") #pragma warning(disable: 4005) #include <windows.h> ............ void zmain() { ........ ExitProcess(0); } В настройках прокта надо ставить: С++->Code generation->Buffer Security Check:No
Код (Text): #pragma comment(linker,"/NODEFAULTLIB") #pragma comment(linker,"/ENTRY:zmain") #pragma comment(linker,"/MERGE:.rdata=.text") #pragma comment(lib,"ntdll.lib") #pragma comment(lib,"kernel32.lib") #pragma comment(lib,"user32.lib") #pragma comment(lib,"msvcrt.lib") НАсколько я помню, #pragma comment(lib, "XX") генерирует ключ линкера /DEFAULTLIB:XX и все эти либы ты отключаешь одним ключом /NODEFAULTLIB, который более "привилегированный". И ни одна либа не слинкуется из указанных. По крайней мере, так было в 6.0, не знаю насчет 9 (2008) - не пробовал
Не линкера. Эти ключи (/MT /MTd /MD /MDd (любой один из них)) - для компилятора ;-P И, по идее, просто для убирания зависимости от msvcrt90.dll ничего другого и не нужно.