Если хотите, чтобы вам помогли, опишите подробнее какими библиотеками пользуетесь, какую задачу решаете и что вообще стоит за понятием "векторная карта". Карта мира, вроде OSM?
Ваша программа, новый Qt и эта "библиотека" под одной студией собраны? Если райнтамы разные, и вы обмениваетесь с библиотекой объектами STL-ных классов, то ничего хорошего не будет. Или экзмеплярами классов и структур Qt. Даже передача какого-нибудь QModelIndex может вызвать проблемы, если приложение и библиотека собраны под разные версии С++ runtime (в случае разных райнтаймов передавать по значению можно только примитивные типы, ну или указатели на объекты, которые "живут" внутри библиотеки, т.е. ей создаются, ей уничтожаются и живут в её же куче. тогда проблем быть не должно).
в общем-то можно заглянуть в windows update, если у вас достаточно много приложений, и они устанавливали рантаймы, то у вас наверняка будут установленные обновления на них.
P.S. конечно это все резонно, если прога - нечто более сложное, чем переименовалка mp3-файлов по содержимому тегов (что-то критичное для бизнеса, или дорогостоящий продукт, когда есть опасность потери имиджа компании).
"в любом случае" - я имел в виду, чтобы это оставалось обслуживаемым, например, чтобы на рантайм ставились обновления. Его можно и просто положить рядом с вашим EXE-шником (близзы так делают кстати), и нет проблем. Файлов больше одного, но установка не нужна.
с распространением приложений под винду в любом случае разбираться надо, райнтам вам в любом случае придется поставить вместе с приложением. Что касается Qt, да, есть немного гемора, но один раз разобраться будет достаточно. Ну и Dependency Walker в помощь (хотя с динамически загружаемыми плагинами он ситуацию не прояснит, надо доки читать, все написано).
И вообще, если хотите серьезно решить вопрос распространения приложения, уделите время Windows Installer-у, например ознакомтесь с wixtoolset.org
Раз уж на то пошло, давайте отдельно говорить о Qt как о библиотеке и о QtCreator как IDE. В больших проектах сценарий VS+Qt скорее правило, чем исключение. И, как библиотека, Qt - это серьезный инструмент без "детских" болезней.
Если у вас клиенты: а) не пишут в базу; б) имеют плохой интернет; в) редко требуют у себя полной копии базы - может проще тогда веб-сервис сделать и выдавать данные по запросу? 30 Мб это конечно довольно много, но может проще ответ web-сервера закэшировать, чем базу синхронизировать? Синхронизация обычно нужна либо для master-master сценариев, либо когда один сервер не справляется с запросами на выборку, и данные копируются на другие сервера (для выполнения read-only запросов).
Кстати, можно и постраничную выдачу добавить, например по 1000 записейза запрос.
проверьте, что вы скомпилили под ту версию фреймворка, которая есть на целевой машине. Если нет, установите. Насколько я помню, ошибка при запуске может быть не вполне внятной.
не соглашусь насчет редактирования проектов MSBuild: конечно xml-синтаксис нельзя назвать аккуратным и кратким, но лично я в последнее время чуть ли не вручую редактирую proj-файлы - это помогает следить за параметрами проекта, аккуратно коммитить, еще удобно выносить общие свойства в отдельный файл, и инклудить его в каждый проект (удобно например для настроек вроде output directory или флагов для NuGet).
Интересный вопрос на самом деле. Была даже идея прокси-сервера в пару к bookmark-серверу (например, firefox sync), который бы периодически скачивал и хранил версии страниц, которые у тебя в закладках. Очень удобно, было бы не страшно, если страница меняется или сайт загибается.
Через try не нужно проверять, исключения вещь полезная, и в некоторых случаях необходимая, но оборачивать каждую строчку try-ем не стоит, не очень быстро работать будет.
На вскидку, Edges - это ваши списки смежности, т.е. Edges[v] это список вершин, смежных с v. Соответственно, этот массив надо заполнить перед запуском сортировки.
Затем, после обработки, результат можно будет увидеть в map-е Numbers. Структуры Stack и Color по-видимому следует инициализировать дефолтовым конструктором. Теперь укажите, с какого места вам непонятно. Разумеется, как уже сказал brainick, сначала разберитесь с понятиями теории графов, которыми пользуетесь.
DISaccount а чего им быть если вручную задекларены fooA и fooB в начале файла :). По теме: такие определения (которые внутри cpp и не должны быть видны за его пределами) надо оборачивать в анонимный неймспейс. Этот неймспейс будет свой для каждого из файлов, и коллизий не будет, сколько классов с одинаковыми именами не создавай. А так лично я проблемы не вижу в двух одинаково названных утилитарных классах, если их использование ограничено одним cpp
> статическая переменная класса
> находиться на стеке
как уже было сказано, это утверждение неверно. Статические переменные (что объявленные в классе, что внутри функции) имеют время жизни, независимое от стека. Вот локальные да, они находятся на стеке. Перечитайте еще раз источник или приведите цитату из него.
Соглашусь, что с ORM-кой проще, но если это в учебных целях, то пусть лучше сначала сам напишет пару INSERT-ов. Мапперы добавляют уровень абстракции, и если чтото идет не так, нужно понимать что происходит под капотом...