Настройка монитора QNIX QX2700 в linux

Однажды хороший человек подарил мне монитор – 27″ QNIX, модели QX2700. Монитор обладает высоким разрешением – 2560×1440 и LED подсветкой. Обладает так же низкой ценой (порядка 250 долларов). Но есть и недостатки – глянцевый экран (самый главный минус), полным отсутствием мозгов.

SAM_7117

Полное отсутствие мозгов – у монитора нет OSD-меню, не может правильно показывать разрешения ниже рабочего, не отправляет EDID (не представляется). Первые два недостатка на жизнь никак не влияют, а вот последний создает много проблем. Без EDID монитор не будет правильно определяться и работать в linux.

Continue reading

Точка входа Qt5 программы и компилятор Visual Studio 2012+

Многие сталкивались с тем что при компиляции студией Qt-проектов (и не только) Windows не хочет использовать стандартную функцию main(), а требует свои

WinMain

для GUI приложений и при использовании UNICODE, выдавая ошибки линковки вроде этих:

LNK2019: unresolved external symbol main referenced in function __tmainCRTStartup

или

error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

На более старых версиях проблему можно было отчасти решить, задав точку входа принудительно через

/ENTRY:main

или

#pragma comment( linker, "/entry:main" )

Но сейчас такой способ больше не работает, программа будет падать при старте. Если вам не нужна поддержка WCHAR в параметрах argv, то проще всего слинковать со специальной служебной либой Qt5 для линковки с main(). Библиотека называется Qt5::WinMain:

IF (BUILD_WIN32)
TARGET_LINK_LIBRARIES(${PROJECT} Qt5::WinMain) # Correct entry point
ENDIF()