суббота, 27 апреля 2019 г.

Boost Test Adapter не показывает в Visual Studio тесты для QT проекта - проверьте положение QTDIR в файле .vcxproj.users.

Встретился с неприятной проблемой. В QT-проекте использую Boost.Tests. На одном из компьютеров Boost Test Adapter в VS2017 наотрез отказывался показывать тесты. Оказалось, что виноват был файл ProjectName.vcxproj.user. Выглядел он так:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)bin%3b$(PATH)</LocalDebuggerEnvironment>
<QTDIR>C:libsQt5.12.0msvc2017</QTDIR>
</PropertyGroup>
Т.е. QTDIR объявлена после того, как используется в LocalDebuggerEnvironment. Все компилировалось и работало, а юнит-тесты видны не были. Переставил QTDIR в начало:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<QTDIR>C:libsQt5.12.0msvc2017</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
и наконец-то увидел тесты в VS2017.

воскресенье, 21 апреля 2019 г.

Запуск Firebird 2.5 и Firebird 1.5 на одном сервере

Порядок запуска двух сервисов Firebird на одном сервере подробно рассмотрен в руководстве Установка InterBase и Firebird вручную. Но есть одна тонкость - как изменить имя сервиса Firebird 1.5.

воскресенье, 10 декабря 2017 г.

Удалить файл из git

Бывает, из истории git-репозитория необходимо удалить какой-нибудь файл. Чаще всего это либо файл с паролем, либо файл большого размера.

Возможность такая есть и описана в книге Pro Git. Требуется использовать filter-branch, что на практике довольно не просто.

К счастью, существует альтернатива - утилита BFG.

Пользоваться довольно просто:

; Клонируем репозиторий 
$ git clone --mirror git://example.com/my-repo.git

; Удаляем файл
$ java -jar bfg.jar --delete-files FILE_NAME_TO_REMOVE my-repo.git

; Заходим в репозиторий и проводим в нем чистку
$ cd my-repo.git
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive

; Заливаем измененеия
$ git push
В случае, если возникает ошибка
Protected commits
-----------------

These are your protected commits, and so their contents will NOT be altered:

 * commit ******* (protected by 'HEAD')
помогает опция --no-blob-protection.

суббота, 17 октября 2015 г.

Подключение Nexus 5 к PC после обновления до Android 6

Мой Nexus 5 недавно обновился до Android 6. Неожиданно обнаружил, что при подключении Nexus к компьютеру проводник перестал отображать список файлов на девайсе.. Проверил настройки. В настройках Developers Options -> Select USB Configuration выбран режим MTP (Media Transfer Protocol). Ну и что за дела?

Ответ нашелся на форуме Nexus. Оказывается, при подключении Nexus к компьютеру на девайсе отображалось уведомление USB for charging. Touch for more options. Открыл его, вывались меню Use USB for. Выбрал Transfer files (MTP) и все заработало.

Виновата, конечно, моя невнимательность. Ведь все на экране написано :) И все же: почему в настройках указан один режим, а по факту девайс подключился в другом? Баг это или "фича"?

Update Похоже, все же "фича". Опцию USB for charging. Touch for more options приходиться менять каждый раз при подключении девайса к компьютеру. И, кстати, появляется она на экране залоканного девайса ни сразу, а с небольшой задержкой.

среда, 14 октября 2015 г.

Ссылка на рисунки и таблицы в Microsoft Word - показывать только номер

Недавно вышел новый Microsoft Office 2016 и в нем по-прежнему существует проблема создания перекрестных ссылок для рисунков и таблиц - интерфейс не дает возможность создать ссылку в виде номера. Максимум чего можно добиться - выбрать при создании ссылки "Постоянная часть и номер" и получить ссылку в виде "Рисунок 1". Возникает вопрос, как выкинуть слово "Рисунок" и получить просто "1"?

В интернете полно статей на эту тему. Обычно предлагают два варианта: пометить "Рисунок" как скрытый текст или воспользоваться закладками. Однако существует еще один способ, на мой взгляд, более быстрый и удобный.

Щелкаем по вставленной перекрестной ссылке правой клавишей мыши и выбираем команду Коды/значения полей. На месте перекрестной ссылки в документе появится ее код, например вот такой {REF _Ref432583060 \h} . Дописываем к коду поля вот такой постфикс

\# "0"

Т.е. превращаем код ссылки в {REF _Ref432583060 \h \# "0"}

Еще раз даем команду Коды/значения полей - перекрестная ссылка на рисунок отображается в виде "1". То что нужно.