Skip to forum content

You are not logged in. Please login or register.


forums.pvpgn.pro → [RU] The Source Code → Ошибка при компиляций

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 4

1

Topic: Ошибка при компиляций

Здраствуите в общем при компиляций ошибку выбрасывает.

Вот часть кода

static void do_whisper(t_connection * user_c, char const * dest, char const * text)
{
    t_connection * dest_c;
    char const *   username;
    char const *   tname;
   
    if (!(dest_c = connlist_find_connection_by_name(dest,conn_get_realm(user_c))))
    {
      message_send_text(user_c,message_type_error,user_c,"That user is not logged on.");
      return;
    }

    if (conn_get_dndstr(dest_c))
    {
        sprintf(msgtemp,"%.64s is unavailable (%.128s)",conn_get_username(dest_c),conn_get_dndstr(dest_c));
        message_send_text(user_c,message_type_info,user_c,msgtemp);
        return;
    }

    message_send_text(user_c,message_type_whisperack,dest_c,text);

    if (conn_get_awaystr(dest_c))
    {
        sprintf(msgtemp,"%.64s is away (%.128s)",conn_get_username(dest_c),conn_get_awaystr(dest_c));
        message_send_text(user_c,message_type_info,user_c,msgtemp);
    }

    message_send_text(dest_c,message_type_whisper,user_c,text);

    if ((tname = conn_get_username(user_c)))
   {
        char username[1+USER_NAME_MAX]; /* '*' + username (including NUL) */

      if (strlen(tname)<USER_NAME_MAX)
      {
            sprintf(username,"*%s",tname);
          conn_set_lastsender(dest_c,username);
      }
    }
}



А  ошибка такая

1>------ Построение начато: проект: bnetd, Конфигурация: Release Win32 ------
1>Компиляция...
1>command.cpp
1>..\..\..\source\src\bnetd\command.cpp(139) : error C2065: USER_NAME_MAX: необъявленный идентификатор
1>..\..\..\source\src\bnetd\command.cpp(139) : error C2133: username: неизвестный размер
1>..\..\..\source\src\bnetd\command.cpp(141) : error C2065: USER_NAME_MAX: необъявленный идентификатор
1>..\..\..\source\src\bnetd\command.cpp(784) : warning C4146: применение унарного минуса к типу без знака; результат оставлен без знака
1>..\..\..\source\src\bnetd\command.cpp(2225) : warning C4800: int: принудительно задано логическое значение 'true' или 'false' (предупреждение о производительности)
1>..\..\..\source\src\bnetd\command.cpp(2244) : warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных
1>..\..\..\source\src\bnetd\command.cpp(2284) : warning C4800: int: принудительно задано логическое значение 'true' или 'false' (предупреждение о производительности)
1>..\..\..\source\src\bnetd\command.cpp(2303) : warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных
1>Журнал построения был сохранен в "file://c:\1\build\src\bnetd\bnetd.dir\Release\BuildLog.htm"
1>bnetd - ошибок 3, предупреждений 5
========== Построение: успешно: 0, с ошибками: 1, без изменений: 23, пропущено: 0 ==========

2

Re: Ошибка при компиляций

Как искать решение ошибок при компиляции

1. Ошибка в логе находится в том месте, где начинается слово "error":

1>..\..\..\source\src\bnetd\command.cpp(139) : error C2065: USER_NAME_MAX: необъявленный идентификатор

2. Google необъявленный идентификатор c++ или по коду ошибка C2065

3. Находим информацию о том, что идентификатор USER_NAME_MAX, с которым возникает ошибка, собственно нигде и не объявлен ранее, поэтому для компилятора это всего лишь буквы. С таким же успехом можно заменить USER_NAME_MAX на SUPERCODER_ONLYMEN, с той же ошибкой компиляции.


P.S. Сейчас эта константа по-другому называется MAX_USERNAME_LEN, она объявлена в src\common\field_sizes.h

const unsigned MAX_USERNAME_LEN = 16;
Do not ask for support in PM.

3

Re: Ошибка при компиляций

HarpyWar wrote:

Как искать решение ошибок при компиляции

1. Ошибка в логе находится в том месте, где начинается слово "error":

1>..\..\..\source\src\bnetd\command.cpp(139) : error C2065: USER_NAME_MAX: необъявленный идентификатор

2. Google необъявленный идентификатор c++ или по коду ошибка C2065

3. Находим информацию о том, что идентификатор USER_NAME_MAX, с которым возникает ошибка, собственно нигде и не объявлен ранее, поэтому для компилятора это всего лишь буквы. С таким же успехом можно заменить USER_NAME_MAX на SUPERCODER_ONLYMEN, с той же ошибкой компиляции.


P.S. Сейчас эта константа по-другому называется MAX_USERNAME_LEN, она объявлена в src\common\field_sizes.h

const unsigned MAX_USERNAME_LEN = 16;

Спасибо заменил на MAX_USERNAME_LEN всё работает.

4

Re: Ошибка при компиляций

Насколько я знаю, достаточно будет написать объявить переменную в твоем коде: const unsigned MAX_USERNAME_LEN = 16;  и после Си++ всё поймет. Или же объявить постоянную (лучше на много) в файле src\common\field_sizes.h такой же строчкой.

Posts: 4

Pages 1

You must login or register to post a reply

Who now at forum

Currently view post: 1 guest, 0 registered users

forums.pvpgn.pro → [RU] The Source Code → Ошибка при компиляций