Пишу инсталлятор, который, как принято, должен создавать ярлык на рабочем столе и группу в меню Пуск. Находил в сети много вариантов одной и той же функции создания ярлыков, которая основывается на Shellapi. MinGW при компиляции кода с этой функцией пишет "undefined reference to CoCreateInstance@20'" и "undefined reference to
IID_IPersistFile'", при этом в коде ничего не подчёркивая красным. Простой SHCreateShortcut() он тоже не понимает. Очень критична статическая компиляция!
Собственно вопрос: неужели кроме как через Шелл никак не создать ярлык? Нельзя ли просто WriteFile(..."Link.lnk"...), предварительно записав в переменную-буфер создаваемого файла нужные пути и наименования после определённой последовательности байт, которая отвечает за идентификацию параметров ярлыка? Если так можно, подскажите пожалуйста эти последовательности (маркеры). Или может есть другие пути создания ярлыков?
Видите ли, без Shell...
, наверное, можно - как-то же MS это делают :)? только это будет сложно и непереносимо - теоретически формат может и поменяться.
У вас же, похоже, проблема просто в том, что к проекту не подключена нужная библиотека (насколько я помню, Shell32.lib
).
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно срочно собрать Boost 1_62_0 на Windows 7 x64 SP1Нет файла corecrt
Суть проблемы: Написал я регулярное выражение, которое ищет '{' и оглядывается назад, чтобы посмотреть, нет ли там признака коментариев, и когда...