crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
> Qt4 работа с 3d моделями
Snikersoman
  опции профиля:
сообщение 16.11.2010, 10:40
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 14.11.2010
Пользователь №: 2187

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.11.2010, 1:35) *
это резюме, а где ошибка?

Черт точно. Уже поздно было не совсем так написал....
[debug/qglviewer_res.o] error 1
Это единственное чем компилятор недоволен
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.11.2010, 11:57
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Snikersoman @ 16.11.2010, 13:40) *
Это единственное чем компилятор недоволен
не может такого быть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Snikersoman
  опции профиля:
сообщение 16.11.2010, 22:33
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 14.11.2010
Пользователь №: 2187

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.11.2010, 11:57) *
не может такого быть

Я бы то же предпочел такое никогда не видеть однако...
Мои подозрения сразу пали на файл qglviewer.rc так как именно после него стала лезть всякая нечисть.
Я немного поэкспериментировал с ним. Вот так выглядит реакция компилятора на неправильно заданое название файла или путь к нему Не правильный путь . Вот такая реакция на правильный путь Верный путь . А вот так если мы его вобще отключаем и иконку в придачу (переживем без нее:)) Файл удален
Возможно исходники прояснят картину
Раскрывающийся текст
Вот исходники проги исходники , ссылка на саму библиотеку LibQGLViewer , отсюда брал сам пример 3dsViewer путь к нему libQGLViewer-2.3.8\examples\contribs\3dsViewer
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.11.2010, 23:21
Сообщение #14


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Snikersoman, в сообщения сборки не смотри, переключись вкладку, на которой сам процесс отображается
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Snikersoman
  опции профиля:
сообщение 16.11.2010, 23:50
Сообщение #15


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 14.11.2010
Пользователь №: 2187

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.11.2010, 23:21) *
переключись вкладку, на которой сам процесс отображается

Раскрывающийся текст
Выполняется сборка проекта 3dsViewer...
Настройки не изменились, этап qmake пропускается.
Запускается "I:/Qt/2010.05/mingw/bin/mingw32-make.exe" -w
mingw32-make: Entering directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

i:\qt\2010.05\qt\bin\qmake.exe -spec ..\..\..\..\2010.05\qt\mkspecs\win32-g++ -o Makefile ..\3dsViewer\3dsViewer.pro

mingw32-make: Leaving directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

Project MESSAGE: Unable to find libQGLViewer2.a in C:\Windows\System32

Project MESSAGE: Unable to find libQGLViewerd2.a in C:\Windows\System32

Project MESSAGE: Unable to find libQGLViewer2.a in C:\Windows\System32

mingw32-make: Entering directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

I:/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc,-static -Wl,-subsystem,console -o debug\3dsViewer.exe debug/3dsViewer.o debug/main.o -L"i:\Qt\2010.05\qt\lib" -l3ds -LC:\Windows\System32 -lQGLViewerd2 -lQtXmld -lQtOpenGLd -lglu32 -lopengl32 -lQtGuid -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32

i:/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -l3ds

collect2: ld returned 1 exit status

mingw32-make[1]: Leaving directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

mingw32-make: Leaving directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

mingw32-make[1]: *** [debug\3dsViewer.exe] Error 1

mingw32-make: *** [debug] Error 2

Процесс "I:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2.
Возникла ошибка при сборке проекта 3dsViewer (цель: Настольный компьютер)
Во время выполнения сборки на этапе "Сборка"


Это как я понял не находит библ в систем32 надо в .pro прописать ее полутше
Раскрывающийся текст
Project MESSAGE: Unable to find libQGLViewer2.a in C:\Windows\System32

Project MESSAGE: Unable to find libQGLViewerd2.a in C:\Windows\System32

Project MESSAGE: Unable to find libQGLViewer2.a in C:\Windows\System32

А вот что это значит?
Раскрывающийся текст
i:/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -l3ds

collect2: ld returned 1 exit status

mingw32-make[1]: *** [debug\3dsViewer.exe] Error 1

mingw32-make: *** [debug] Error 2


libQGLViewer2.a а что это такое? :blink:
Такое в проекте нигде не упоминается...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.11.2010, 1:25
Сообщение #16


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Snikersoman @ 17.11.2010, 3:50) *
libQGLViewer2.a а что это такое?
ну собственно библиотека с которой ты решил поработать.
Ты её сам собирал или она уже собранная была?

покажи свой pro-файл
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Snikersoman
  опции профиля:
сообщение 17.11.2010, 10:52
Сообщение #17


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 14.11.2010
Пользователь №: 2187

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 17.11.2010, 1:25) *
ну собственно библиотека с которой ты решил поработать.

К сожалению не совсем так моя библиотека обзывается QGLViewer2.dll и она в sistem32 есть Библиотека и была она уже собранной
libQGLViewer2.a а что это такое тайна за 7ю печатями
Вот мой pro файл
Раскрывающийся текст

# The LGPL lib3ds library is used to load and display a 3ds scene.

# You need to install the lib3ds library (version 1.2) in order to compile this file.
# See <a href="http://lib3ds.sourceforge.net/">http://lib3ds.sourceforge.net/</a>.

# The current version (Version 1.2, Dec 2002) of the lib3ds library is flawed and results in :
# <pre>3dsViewer.cpp:62: `lib3ds_file_bounding_box' undeclared (first use this function)</pre>

# A patched version is available on the <a href="../installUnix.html">Unix installation page</a>.
# You can alternately add this line in the file that uses <code>lib3ds_file_bounding_box()</code>
# (or in <code>lib3ds/file.h</code>) :
# <pre>extern "C" { LIB3DSAPI void lib3ds_file_bounding_box(Lib3dsFile *file, Lib3dsVector min, Lib3dsVector max); }</pre>

# This example is simply a translation of a lib3ds example. Although it uses display lists, the
# rendering speed does not seem to be as good as with other 3ds libraries (10 factor speed up). Note
# however that this is due to the lib3ds library and not QGLViewer.

# Press '<b>L</b>' (load) to load a new 3DS scene.

TEMPLATE = app
TARGET   = 3dsViewer

# Set these paths according to your configuration
# Use qmake 3DS_INCLUDE_DIR=... 3DS_LIB_DIR=...
!isEmpty( 3DS_INCLUDE_DIR ) {
  INCLUDEPATH *= $${3DS_INCLUDE_DIR}
}
!isEmpty( 3DS_LIB_DIR ) {
  LIBS *= -L$${3DS_LIB_DIR}
}
!isEmpty( 3DS_LIB_A ) {
  LIBS *= $${3DS_LIB_A}
} else {
  LIBS *= -l3ds
}

# win32:LIBS  *= C:\code\lib\lib3ds.lib

HEADERS  = 3dsViewer.h
SOURCES  = 3dsViewer.cpp main.cpp

DISTFILES += *.3DS

QT *= xml opengl

CONFIG += qt opengl warn_on thread rtti console embed_manifest_exe no_keywords

# --------------------------------------------------------------------------------------

# The remaining of this configuration tries to automatically detect the library paths.
# In your applications, you can probably simply use (see doc/compilation.html for details) :

#INCLUDEPATH *= C:/Users/debunne/Documents/libQGLViewer-2.3.8
#LIBS *= -LC:/Users/debunne/Documents/libQGLViewer-2.3.8/QGLViewer -lQGLViewer2

# Change these paths according to your configuration.

# --------------------------------------------------------------------------------------

QT_VERSION=$$[QT_VERSION]

### Unix configuration ###
unix {
  CONFIG -= debug debug_and_release
  CONFIG *= release

  isEmpty( PREFIX ) {
    # Try same INCLUDE_DIR and LIB_DIR parameters than for the make install.
    PREFIX=/usr
  }

  # LIB_NAME
  LIB_NAME = libQGLViewer*.so*
  macx|darwin-g++ {
    LIB_NAME = libQGLViewer.$${QMAKE_EXTENSION_SHLIB}
  }
  hpux {
    LIB_NAME = libQGLViewer*.sl*
  }

  !isEmpty( QGLVIEWER_STATIC ) {
    LIB_NAME = libQGLViewer*.a
  }

  # LIB_DIR
  isEmpty( LIB_DIR ) {
    LIB_DIR = $${PREFIX}/lib
  }

  !exists( $${LIB_DIR}/$${LIB_NAME} ) {
    exists( ../../../QGLViewer/$${LIB_NAME} ) {
      #message( The library was found in ../../../QGLViewer which will be set as the LIB_DIR )
      LIB_DIR = ../../../QGLViewer
    }
  }

  macx|darwin-g++ {
    !exists( $${LIB_DIR}/$${LIB_NAME} ) {
      # DYLIB was not found, try to find FrameWork instead
      LIB_NAME = QGLViewer.framework/QGLViewer
      LIB_DIR = /Library/Frameworks
      !exists( $${LIB_DIR}/$${LIB_NAME} ) {
        exists( ../../../QGLViewer/$${LIB_NAME} ) {
          #message( The framework was found in ../../../QGLViewer which will be set as the LIB_DIR )
          LIB_DIR = ../../../QGLViewer
        }
      }
    }
  }

  !exists( $${LIB_DIR}/$${LIB_NAME} ) {
    message( Unable to find $${LIB_NAME} in $${LIB_DIR} )
    error( You should run qmake LIB_DIR=/path/to/QGLViewer/$${LIB_NAME} )
  }

  # The actual directory where the library/framework was found
  LIB_DIR_ABSOLUTE_PATH = $$system(cd $${LIB_DIR};pwd)


  # INCLUDE_DIR
  isEmpty( INCLUDE_DIR ) {
    INCLUDE_DIR = $${PREFIX}/include
  }
  
  !exists( $${INCLUDE_DIR}/QGLViewer/qglviewer.h ) {
    # qmake does not support Headers/QGLViewer FRAMEWORK_HEADERS.path
    #exists( $${LIB_DIR}/QGLViewer.framework/Headers/qglviewer.h ) {
    #  INCLUDE_DIR = $${LIB_DIR}/QGLViewer.framework/Headers
    #} else {
    exists( ../../../QGLViewer/qglviewer.h ) {
      # message( libQGLViewer header files were not installed in standard $${INCLUDE_DIR} directory )
      # message( Headers were found in ../../.. which will be set as the INCLUDE_DIR )
      INCLUDE_DIR = ../../..
    }
    #}
  }

  !exists( $${INCLUDE_DIR}/QGLViewer/qglviewer.h ) {
    message( Unable to find QGLViewer/qglviewer.h in $${INCLUDE_DIR} )
    error( Use qmake INCLUDE_DIR=/path/to/QGLViewerDir )
  }


  macx|darwin-g++ {
    # On Mac, the lib path can be specified in the executable using install_name_tool
    contains( LIB_NAME, ".*QGLViewer.framework.*" ) {
      # If framework was not found in a standard directory
      !contains( LIB_DIR, ".*/Library/Frameworks/*$" ) {
        QMAKE_LFLAGS += -F$${LIB_DIR}
        !plugin:QMAKE_POST_LINK=install_name_tool -change QGLViewer.framework/Versions/2/QGLViewer $${LIB_DIR_ABSOLUTE_PATH}/QGLViewer.framework/Versions/2/QGLViewer $${TARGET}.app/Contents/MacOS/$${TARGET}
      }
      LIBS += -framework QGLViewer
    } else {
        !plugin:QMAKE_POST_LINK=install_name_tool -change libQGLViewer.2.dylib $${LIB_DIR_ABSOLUTE_PATH}/libQGLViewer.2.dylib $${TARGET}.app/Contents/MacOS/$${TARGET}
        LIBS *= -L$${LIB_DIR} -lQGLViewer
    }
  } else {
    isEmpty(QMAKE_RPATH) {
      !plugin:QMAKE_LFLAGS += -Wl,-rpath,$${LIB_DIR_ABSOLUTE_PATH}
    } else {
      !plugin:QMAKE_RPATHDIR *= $${LIB_DIR_ABSOLUTE_PATH}
    }
    LIBS *= -L$${LIB_DIR} -lQGLViewer
  }

  # Paths were correctly detected
  INCLUDEPATH *= $${INCLUDE_DIR}
  DEPENDPATH  *= $${INCLUDE_DIR}

  !isEmpty( QGLVIEWER_STATIC ) {
    LIBS *= $${LIB_DIR}/$${LIB_NAME}
  }

  macx|darwin-g++ {
    !contains( QT_VERSION, "^4.*" ) {
      # Qt3 only
      LIBS *= -lobjc
      CONFIG -= thread
    }
  }

  # Remove debugging options in release mode makes files much smaller
  release:QMAKE_CFLAGS_RELEASE -= -g
  release:QMAKE_CXXFLAGS_RELEASE -= -g

  # Intermediate files are created in an hidden folder
  MOC_DIR = .moc
  OBJECTS_DIR = .obj
}


win32 {
  ###### Uncomment this line to compile a debug version of your application
  CONFIG *= debug_and_release

  # Seems to be needed for Visual Studio with Intel compiler
  DEFINES *= WIN32

  !isEmpty( QGLVIEWER_STATIC ) {
    DEFINES *= QGLVIEWER_STATIC
  }

  # INCLUDE_DIR
  !exists( $${INCLUDE_DIR}/QGLViewer/qglviewer.h ) {
    exists( ../../../QGLViewer/qglviewer.h ) {
      # message( libQGLViewer header files were not installed in standard $${INCLUDE_DIR} directory )
      # message( Headers were found in ../../.. which will be set as the INCLUDE_DIR )
      INCLUDE_DIR = ../../..
    }
  }

  !exists( $${INCLUDE_DIR}/QGLViewer/qglviewer.h ) {
    message( Unable to find QGLViewer/qglviewer.h in $${INCLUDE_DIR} )
    error( Use qmake INCLUDE_DIR=/path/to/QGLViewerDir )
  }

  # Paths were correctly detected
  INCLUDEPATH *= $${INCLUDE_DIR}
  DEPENDPATH  *= $${INCLUDE_DIR}

  # LIB_NAME
  LIB_NAME = QGLViewer
  build_pass:CONFIG(debug, debug|release) {
    LIB_NAME = $$join(LIB_NAME,,,d)
  }
  LIB_NAME = $$join(LIB_NAME,,,2) #TODO 2

  win32-g++: LIB_FILE_NAME = lib$${LIB_NAME}.a
  !win32-g++: LIB_FILE_NAME = $${LIB_NAME}.lib

  isEmpty( LIB_DIR ) {
    LIB_DIR = C:\\Windows\\System32
  }

  !exists( $${LIB_DIR}/$${LIB_FILE_NAME} ) {
    exists( ../../../QGLViewer/$${LIB_FILE_NAME} ) {
      #message( The library was found in ../../../QGLViewer which will be set as the LIB_DIR )
      LIB_DIR = ../../../QGLViewer
    }
  }

  !exists( $${LIB_DIR}/$${LIB_FILE_NAME} ) {
     exists( ../../../QGLViewer/Release/$${LIB_FILE_NAME} ) {
       LIB_DIR = ../../../QGLViewer/Release
     }
  }

  !exists( $${LIB_DIR}/$${LIB_FILE_NAME} ) {
    exists( ../../../QGLViewer/Debug/$${LIB_FILE_NAME} ) {
      LIB_DIR = ../../../QGLViewer/Debug
    }
  }

  !exists( $${LIB_DIR}/$${LIB_FILE_NAME} ) {
    message( Unable to find $${LIB_FILE_NAME} in $${LIB_DIR} )
    ########error( You should run qmake LIB_DIR=/path/to/QGLViewer/$${LIB_FILE_NAME} )
  }

  win32-g++ {
    # The actual directory where the library/framework was found
    # LIB_DIR_ABSOLUTE_PATH = $$system(cd $${LIB_DIR} && cd)

    isEmpty( QGLVIEWER_STATIC ) {
      LIBS *= -L$${LIB_DIR} -l$${LIB_NAME}
    } else {
      LIBS *= $${LIB_DIR}/$${LIB_FILE_NAME}
    }
  }

  !win32-g++ {
    # Use the Qt DLL version. Only needed with Qt3
    !contains( QT_VERSION, "^4.*" ) {
      DEFINES *= QT_DLL QT_THREAD_SUPPORT
    }

    LIBS *= -L$${LIB_DIR} -l$${LIB_NAME}
  }
}


macx|darwin-g++ {
#ICON = $${INCLUDEPATH}/QGLViewer/qglviewer.icns
}

win32 {
# RC_FILE = qglviewer.rc

}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Snikersoman
  опции профиля:
сообщение 18.11.2010, 14:47
Сообщение #18


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 14.11.2010
Пользователь №: 2187

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ребят подскажите что за ошибка такая:
i:/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -l3ds

collect2: ld returned 1 exit status

mingw32-make[1]: *** [debug\3dsViewer.exe] Error 1

mingw32-make: *** [debug] Error 2

Подробно:
Раскрывающийся текст
Выполняется сборка проекта 3dsViewer...
Настройки не изменились, этап qmake пропускается.
Запускается "I:/Qt/2010.05/mingw/bin/mingw32-make.exe" -w
mingw32-make: Entering directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

I:/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

windres -i ..\3dsViewer\qglviewer.rc -o debug\qglviewer_res.o --include-dir=./../3dsViewer -DUNICODE -DQT_LARGEFILE_SUPPORT -DWIN32 -DQT_THREAD_SUPPORT -DQT_NO_KEYWORDS -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc,-static -Wl,-subsystem,console -o debug\3dsViewer.exe debug/3dsViewer.o debug/main.o -L"i:\Qt\2010.05\qt\lib" debug\qglviewer_res.o -l3ds -LC:\Windows\System32 -lQGLViewerd2 -lQtXmld -lQtOpenGLd -lglu32 -lopengl32 -lQtGuid -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32

mingw32-make[1]: Leaving directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

mingw32-make: Leaving directory `I:/Qt/libQGLViewer-2.3.8/examples/contribs/3dsViewer-build-desktop'

i:/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -l3ds

collect2: ld returned 1 exit status

mingw32-make[1]: *** [debug\3dsViewer.exe] Error 1

mingw32-make: *** [debug] Error 2

Процесс "I:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2.
Возникла ошибка при сборке проекта 3dsViewer (цель: Настольный компьютер)
Во время выполнения сборки на этапе "Сборка"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 18.11.2010, 15:01
Сообщение #19


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Вот же написано
Цитата(Snikersoman @ 18.11.2010, 14:47) *
i:/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -l3ds
т.е. не удалось найти библиотеку lib3ds.dll
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.11.2010, 17:16
Сообщение #20


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(igor_bogomolov @ 18.11.2010, 17:01) *
lib3ds.dll
в виндовозе обячно просто 3ds.dll, без lib в начале, эта приставка чаще в a-файлам относится:
lib3ds.a/3ds.dll
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 16:27