Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Компилятор (https://forum.antichat.xyz/showthread.php?t=211637)

77org77 15.06.2010 11:52

Компилятор
 
Всем доброе время суток. Уменя возник такой вопрос по C++ как можно зделать чтобы при статическом подключении библиотеки, невылеслиазила ошибка если библиотеки нету,. а белать своё какое небуть действия. я так понял она сразу идет проверка при загрузки приложения как можно этого избезать. Компилятор Microsoft_Visual_Studio_9.0 OC windows XP sp3.За рание спасибо.

1n0y 15.06.2010 12:05

надеюсь код ты пишешь грамотнее, чем посты на форуме..

Ra$cal 15.06.2010 13:01

гг =) расшифруйте кто нить послание ТС.

EniOk 15.06.2010 13:12

Я так понял... У человека возникает ошибка при компиляции - невозможно подключить такую-то библиотеку. Он спрашивает как не обрывать компиляцию на этой ошибке, а выполнить что-либо.

Имхо - условная компиляция рулит)
#ifdef, #if - #endif помочь могут)

Sunzer 15.06.2010 13:16

Может быть ТС хочет что бы его бинарь не импортировал msvcrt.dll?

d_x 15.06.2010 14:10

Расшифровывою: тс билдит бинарник, использующий, например, pcre3.dll или curl.dll. Потом при распространении бинарника прикладываемая dll'ка куда-то теряется, и при запуске приложения вылазит нечто вроде
http://s48.radikal.ru/i122/1006/86/6b92ea85389b.png

Вопрос тс'а: можно ли как-то эту ошибку перехватить и сделать что-то своё вместо этого месажбокса.

greki_hoy 16.06.2010 13:48

отложенная загрузка библиотек (у Рихтера) или явная загрузка (LoadLibrary) тогда можно какое угодно свое сообщение показать а при неявном связывании загрузчик показывает это сообщение еще даже когда первичный поток не исполнил ни одной инструкции вашей программы

77org77 16.06.2010 21:51

Всё ясно, напишу по-другому, при запуски приложения вылетает ошибка что мол нету *.dll когда я копирую эту *.dll в системную директорию то шибка не вылетает а работает нормально. Вопрос как мне можно сделать так чтоб вместо этой ошибки (отсутствия dll) он сперва копировал её с сервера, а потом только уже запускал приложение???

Gar|k 16.06.2010 22:26

мне кажется, коллеги, ТС все таки про CRT :)

Ra$cal 16.06.2010 22:30

вобщем никак, если линковка компилем происходит. ибо запись о библиотеке пишется в Import часть PE хидера. Если хочешь подгружать - значит вызов функций делать надо через LoadLibrary и GetProcAddress, а это гемор. Так что просто кидай dll прямо в папку с программой и пакуй так.


Время: 13:16