В настоящее время я пытаюсь перенести программу Windows на Linux, более конкретно DLL. Код написан на C ++ и использует много вызовов Winapi. Поскольку я не хочу перестраивать все с нуля, я подумал, что перекомпиляция с Winelib — это хорошее начало и стоит попробовать, но я никогда не использовал его раньше. Поэтому я использовал Winemaker для подготовки кода и создания Makefile. С помощью make
распечатывает ошибку, которая говорит windows.h
не может быть найден. Ну, я использую Ubuntu прямо сейчас, поэтому, конечно, это не может быть найдено, но я подумал, используя wineg++
позаботится о таких вещах, подложив слой винапай.
Я прочитал Руководство пользователя Winelib, но мне кажется, что я не совсем понял концепцию.
Что мне здесь не хватает? Это точно не будет последней проблемой, с которой я столкнусь с Winelib
Это не совсем подходящее решение, но drdobbs.com опубликовал интересную статью о вине, winelib и портировании на Linux Вот.
Так что использование winemaker и wineg ++ — хорошее начало, но нужно также добавить директиву Compiler -Iwine/include
, есть эквиваленты windows.h
и т. д. скрыто.
В нем также говорится, что код, скомпилированный таким образом, все еще нуждается в Wine для правильной работы, чтобы гарантировать, что жестко закодированные пути, такие как C:\Program Files\...
все еще доступны. Если они не существуют, они могут работать без Wine, но я абсолютно НЕ уверен в этом.