powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ошибка линковки LNK2019
10 сообщений из 10, страница 1 из 1
ошибка линковки LNK2019
    #33548391
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В си я соображаю совсем слабо, но надо.
Так вот написал я маааленькую прогу - она конектится к ораклу и запускает там процедурку. Всё хорошо откомпилилось и слинковалось. Теперь я вставляю
Код: plaintext
sleep( 5 )
и получается
Код: plaintext
error LNK2019: unresolved external symbol _sleep referenced in function _main
вот так я линкую:
Код: plaintext
link /defaultlib:oci.lib depserv.obj
без /defaultlib:oci.lib тот же сабж, только на oci функции.
Как мне два lib вместе линковать?

Всё взято с мелкософта:
КомпиляторMicrosoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved. линкёрMicrosoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548657
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что за функция sleep? Из какого либа? В stdlib.h обявляется_sleep, какой либ не помню. Есть еще Sleep в kernel32.dll.
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548676
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Судя по всему где-то есть
Код: plaintext
1.
#define sleep _sleep
А тебе надо подключать именно тот либ в котором эта _sleep находится.
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548757
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако, в stdlib.h прямо сказано, что _sleep - устаревшая функция
Код: plaintext
1.
2.
3.
4.
5.
6.
/* --------- The following functions are OBSOLETE --------- */
/* The Win32 API SetErrorMode, Beep and Sleep should be used instead. */
_CRTIMP void __cdecl _seterrormode(int);
_CRTIMP void __cdecl _beep(unsigned, unsigned);
_CRTIMP void __cdecl _sleep(unsigned long);
/* --------- The preceding functions are OBSOLETE --------- */
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548850
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2_Балтика
Мне надо, что бы бала задержка в цикле после исполнения процедуры, что использовать?
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548878
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_sleep получилось! Спасибо _Балтика.
Ещё один вопросик: хочу в коммандной строке дать аргументы для exe-шника, как мне это дело объявить?
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548885
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ГеннадичЕщё один вопросик: хочу в коммандной строке дать аргументы для exe-шника, как мне это дело объявить?

объяви свой main как
Код: plaintext
1.
int main(int argc, char* argv[])

argv - это и будут полученные аргументы
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548888
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас попробую..
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548903
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Геннадич
Ещё один вопросик: хочу в коммандной строке дать аргументы для exe-шника, как мне это дело объявить?
У функции main() в языке программирования C существует три параметра, которые могут быть переданы ей операционной системой. Полный прототип функции main() выглядит следующим образом:

Код: plaintext
1.
int main(int argc, char *argv[], char *envp[]); 

Первые два параметра при запуске программы на исполнение командной строкой позволяют узнать полное содержание командной строки. Вся командная строка рассматривается как набор слов, разделенных пробелами. Через параметр argc передается количество слов в командной строке, которой была запущена программа. Параметр argv является массивом указателей на отдельные слова. Так, например, если программа была запущена командой

a.out 12 abcd

то значение параметра argc будет равно 3, argv[0] будет указывать на имя программы — первое слово — «a.out», argv[1] — на слово «12», argv[2] — на слово «abcd». Так как имя программы всегда присутствует на первом месте в командной строке, то argc всегда больше 0, а argv[0] всегда указывает на имя запущенной программы.

Третий параметр – envp – является массивом указателей на параметры окружающей среды процесса. Начальные параметры окружающей среды процесса задаются в специальных конфигурационных файлах для каждого пользователя и устанавливаются при входе пользователя в систему.
...
Рейтинг: 0 / 0
ошибка линковки LNK2019
    #33548941
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромные благодарности _Балтика за столь содержательный ответ.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ошибка линковки LNK2019
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]